0

我有这个项目正在进行中,当每个都获得焦点时,我有两个密码字段,它使用 jquery 显示盲目效果;在密码字段下方显示密码强度 div。然后,当它失去焦点时,它会隐藏密码强度 div。当我在两个密码字段之间切换时,我希望密码强度保持打开状态。


$('input[type=password]').focus(function() {
$('#pswd_info').show("blind", { direction: "vertical" }, 1000);
    }).blur(function() {
       $('#pswd_info').hide("blind", { direction: "vertical" }, 1000);
    });


编辑:

所以我花了一些时间试图解决这个问题,但我有。这是我的解决方案,感谢罗伯特。这是我的解决方案。

$('input[type=password]').focus(function() {
            $('#pswd_info').show("blind", { direction: "vertical" }, 300);
        });

 $("input[type=password]").blur(function() {
            window.setTimeout(function(){
                if($(":focus").attr("type") != "password"){
                    $('#pswd_info').hide("blind", { direction: "vertical" }, 300);
                }
            },100);
        });

感谢大家的帮助。

4

2 回答 2

2

检查document.ActiveElement并查看它是否是您的两个密码字段之一。如果不是,您可以允许该.hide函数执行。

更多信息:JavaScript(或 jQuery)中是否有“焦点”?

于 2013-03-10T21:18:22.793 回答
0

你试过这样吗……这只是一个建议……

$('input[type=password]').live('keyup',function() {
$('#pswd_info').show("blind", { direction: "vertical" }, 1000);
    }).blur(function() {
       $('#pswd_info').hide("blind", { direction: "vertical" }, 1000);
    });
于 2013-03-11T02:13:04.887 回答