我有一个登录表格。当输入集中时,通过添加css类来显示“忘记密码”和“记住我”元素,当它们模糊时,通过删除类“ sho”再次隐藏这些元素。如果我单击任一元素或登录链接,我希望元素保留类“ show

$(document).ready(function() {
    $('.login *').focus(showlogin);
    $('.login *').blur(hidelogin);
});


function showlogin(){
    $('.login .hidden').addClass("show");
}

function hidelogin(){
    $('.login .hidden').removeClass("show");
}


HTML:

<form class="login">
  <input type="text"/>
  <input type="password"/>
  <a class="loginbutton" href="#">Log in</a>
  <br />
  <a class="hidden" href="#">Forgotten password</a>
  <label class="hidden"><input type="checkbox" /> Remember me</label>
</form>

最佳答案

无需绑定到blur,而是绑定到登录表单外部的单击。

这是我在页面中提供的一些代码,当我在其外部单击时,它会关闭登录框,您可以根据需要进行调整:

    $(document).mousedown(function (e) {
        if ($(e.target).closest("#signin").length == 0) {
            $(".signin").removeClass("menu-open");
            $("fieldset#signin_menu").hide();
        }
    });

关于javascript - 除非单击特定元素,否则在模糊时触发jquery函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12759083/

10-17 03:00