防止重新激活密码字段的javascript盲目效果

时间:2013-03-10 21:08:28

标签: javascript jquery web

我有这个项目即时工作,我有两个密码字段,当每个人获得焦点时,它使用jquery show blind效果;在密码字段下方显示密码强度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);
        });

感谢大家的帮助。

2 个答案:

答案 0 :(得分:2)

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

此处有更多信息:Is there a 'has focus' in JavaScript (or jQuery)?

答案 1 :(得分:0)

你试过这样的事吗......这只是一个建议......

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