qwe*_*rty 3 jquery children click parent fadeout
我的页面上有以下代码,我想要做的是当用户在#loginBox外部点击时,我想让整个#loginOverlay淡出.但是如果没有点击#loginBox触发的淡出,我就无法实现这种效果......
它位于页面底部,我在页面上有一个触发淡入淡出的链接.但是淡出现在有点挣扎了.
我试过这样做:
$("#loginOverlay").click(function() { ...fadeout... });
Run Code Online (Sandbox Code Playgroud)
但它给了我相同的结果.
那有什么建议吗?提前致谢!
<div id="loginOverlay">
<div id="loginBox">
<img class="closeBtn" src="images/icons/close.png" alt="" />
<h3>Login</h3>
<form action="login.php?ref=index.php" method="post">
<input type="text" name="username" value="Username..." onblur="if(this.value.length == 0) this.value='Username...';" onclick="if(this.value == 'Username...') this.value='';" />
<input type="password" name="password" value="Password..." onblur="if(this.value.length == 0) this.value='Password...';" onclick="if(this.value == 'Password...') this.value='';" />
<input class="loginBtn" type="submit" name="submit" value="Login!" />
</form>
</div> <!--login box -->
</div>
<script src="js/jquery-1.4.2.min.js"></script>
<script>
$(document).ready(function() {
$('#loginOverlay').css('display', 'none');
$('#loginToggle').click(function() {
$("#loginOverlay").fadeIn(200);
});
$("#loginBox").parent().click(function(){
$("#loginOverlay").fadeOut(100);
});
});
Run Code Online (Sandbox Code Playgroud)
您需要检查e.target以查看实际点击的元素:
$("#loginOverlay").click(function(e) {
if (e.target === this)
$("#loginOverlay").fadeOut(100);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2369 次 |
| 最近记录: |