我有以下HTML標記。麻煩在jQuery單擊事件
<div id="toppanel">
<div id="panel" style="display: none;">
<div class="content clearfix">
<div class="clear"></div>
//some ul li
<div class="left">
<img alt="" src="img/slide_logo.png">
<h1>Welcome</h1>
<p class="grey">You can put request for anything you want : cooking, driver for a day, programmer... The only limit is your imagination!</p>
</div>
<div class="left">
<h1>Member Login</h1>
<form accept-charset="utf-8" action="https://stackoverflow.com/users/login" method="post" id="HeaderUserLoginForm" novalidate="novalidate">
//form fields
<input type="submit" style="float:left;position: relative;top: 10px;" class="button blue" value="Sign In" name="submit">
<a href="#" class="lost-pwd">Lost your password?</a>
</form>
</div>
<div class="left right">
<form accept-charset="utf-8" action="https://stackoverflow.com/users/signup" method="post" id="HeaderUserSignupForm" novalidate="novalidate">
//form fields
<input type="submit" style="float:left;position: relative;top: 10px;" class="button blue" value="Sign Up" name="submit">
</form>
</div>
</div>
</div>
</div>
以上HTML代碼是用於頂部固定的登錄並註冊slideup
和down
使用toggle
這是。
現在,當用戶click
在DOCUMENT
的其他部分我需要隱藏這一點,我做了與下面的代碼工作。
$(document).on('click',function(e)
{
e.stopPropagation();
$("div#panel").slideUp("slow");
});
但問題是,當我點擊的toppanel DOM
任何一部分,那麼它也slideUp
。
那麼我該如何克服這個問題。我也試過:not()
,但沒有希望。
我最終得到的是。
$(document).on('click','#panel input[type!="submit"], #toppanel:not("div"), #toppanel:not("div ul"), #toppanel:not("div p")',function(e)
{
e.stopPropagation();
$("div#panel").slideUp("slow");
});
這是工作只是爲"#panel input[type!="submit"]"
不是其他。
非常感謝。
感謝快速反應,但它不工作...嘗試它已經 – 2013-03-15 05:56:48
因爲我有頂部面板內的兩個表格,以便當我點擊的div p或輸入其滑動.. – 2013-03-15 05:58:06
Thanx幫助我解決了它... – 2013-03-15 06:04:24