对不起标题;我什至不知道如何解释这个问题,但我会尽力而为。
我有一个位于 div 内的表单,当单击链接时,该表单显示为深色背景。一个很好的例子是 jQuery 图像库,当单击图像缩略图时,会有一个半透明的 div 覆盖整个页面,其中一个略小的 div 内部显示更大版本的图像。请参阅此演示:http ://themeforest.net/item/ztudio-responsive-portfolio-blog/full_screen_preview/4716505?ref=1stwebdesigner
引用的 URL 和我所拥有的唯一区别是我有一个表单而不是放大的图像。
无论如何,我的问题是这样的:如果用户在输入字段中输入错误的数据,然后使用鼠标选择所有文本,如果将鼠标拖离 div,则 div 将关闭。
我相信问题是由这个功能引起的:
$(document).on('mouseup', function (e) {
if ($('#log-in').has(e.target).length === 0) {
$('#log-in').fadeOut(200);
$('#aLogin').show();
}
});
HTML:
<div class="fade_bg" id="log-in">
<div class="actionDiv">
<span class="errForm" id="loginError"></span>
<form id="login_form" action="./classes/login/Authenticator.php" method="post">
<p>username: <input type="text" name="username" id="username" /></p>
<p>password: <input type="password" name="password" id="password" /></p>
<p><input type="submit" name="adminLogin" value="Log in" id="adminLogin" /></p>
</form>
<p><a id="cancelLogin" href="">Cancel</a></p>
</div>
</div>
CSS:
div#log-in {
display: none;
}
我不知道如何修改 jQuery,以便仅当用户显式单击包含表单的 div 外部时,div 才会关闭。有任何想法吗?