我有一个登录表格。当输入集中时,通过添加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/