1
我正在建立一個選擇框的div和跨度。一切正常,但現在我試圖添加一個:not()選擇器來檢測用戶單擊#signup-currency-selectbox及其子項以外的任何內容時下拉框是否可見。如果它是可見的,則需要在該點隱藏。以下是我目前有:不能得到:not()選擇器正常工作
HTML:
<div id="signup-currency-selectbox" class='selectBox'>
<span id="signup_currency" class='selected'></span>
<span class='selectArrow'></span>
<div class="selectOptions" >
<span class="selectOption signup-currency" value="1" >$USD</span>
<span class="selectOption signup-currency" value="4" >£GBP</span>
<span class="selectOption signup-currency" value="6" >€EUR</span>
<span class="selectOption signup-currency" value="2" >$CAD</span>
<span class="selectOption signup-currency" value="3" >$AUD</span>
</div>
</div>
的jQuery:
$(":not(.selectBox)").click(function(){
$('div.selectOptions').css('display','none');
});
現在我有多個選擇框的與類.selectBox,所以這將是最好使用。每次每用戶點擊除.selectBox之外的其他東西的時間?出於某種原因,即使.selectBox及其任何子項被點擊,該功能也會執行。有沒有人在這裏看到任何錯誤?另外,我刪除了if語句(不確定是否需要它開始)。
+1,但如果你點擊另一個'.selectBox',它將不起作用。但是,這是解決問題的方法..我會讓打開一個'.selectBox'的代碼關閉所有其他的.. –
完美工作,比我的想法更有效率,非常感謝! –
好點@ GabyakaG.Petrioli,謝謝。 –