我有一个滑动登录框。如果我点击一个按钮,登录将向下滑动$('#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/
答案 0 :(得分:1)
您可以检查输入是否关注用户名字段:
$('#wrapper').on('mouseleave', function(){
if( $( this ).find( 'input[name=username]' ).is( ':focus' ) ) {
return false;
}
$('#loginBox').slideUp();
});
我已经updated你的jsFiddle来展示它是如何运作的。