除非单击特定元素,否则在模糊时触发jquery函数

时间:2012-10-06 10:46:42

标签: javascript jquery

我有一个登录表单。当输入聚焦时,通过添加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>

1 个答案:

答案 0 :(得分:1)

不是绑定到blur,而是绑定到登录表单外的点击。

以下是我的页面中的一些代码,当我点击它之外关闭我的登录框时,您可以根据自己的需要调整它:

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