1

我有一个滑动登录框。如果我单击一个按钮,登录将向下滑动$('#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/

4

1 回答 1

1

您可以检查输入是否关注用户名字段:

$('#wrapper').on('mouseleave', function(){
     if( $( this ).find( 'input[name=username]' ).is( ':focus' ) ) {
         return false;
     }
     $('#loginBox').slideUp();
});

我已经更新了你的 jsFiddle 来展示它是如何工作的。

于 2013-11-01T18:09:00.040 回答