我有一个滑动登录框。如果我点击按钮,登录将向下滑动 $('#loginBox').slideDown()
登录框由 div 包裹
<div id="wrapper" style="position: relative">
<button>Login</button>
<div id="loginBox" style="position: absolute"><input name="username" type="text"></div>
</div>
JavaScript:
$('#wrapper').on('mouseleave', function(){
$('#loginBox').slideUp();
});
如果输入用户名具有预先选择的值并且我想选择一个,则会触发 mosueleave 事件。登录框将向上滑动
如何防止这种情况发生?
这里是一个示例代码 http://jsfiddle.net/XBPmb/3/
最佳答案
您可以检查输入是否聚焦于用户名字段:
$('#wrapper').on('mouseleave', function(){
if( $( this ).find( 'input[name=username]' ).is( ':focus' ) ) {
return false;
}
$('#loginBox').slideUp();
});
我已经updated你的 jsFiddle 来展示它是如何工作的。
关于javascript - 如果输入有预选值,jQuery mouseleave 会触发一个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19732639/