我需要在jQuery中創建交叉瀏覽器風格的標記。所以,而不是使乾淨的HTML SELECT元素標籤,我使用嵌套元素。頁面上會有很多可用的選擇框,因此它們應該彼此正確地工作。在多個元素之外單擊時隱藏
編輯:淡入效果 「淡入()/淡出()」 應當被用來代替 「隱藏()/顯示()」
介紹一個例子:
代替具有經典下拉列表中的清潔html元素:
<select>
<option>Option 1</option>
<option>Option 1</option>
<option>Option 1</option>
</select>
我有嵌套的元素,所以我可以適當他們的風格:
<div class="gui-selectbox">
<a class="gui-selectbox-button">
<span class="gui-btn-l"></span>
<span class="gui-btn-c">Option 1</span>
<span class="gui-btn-r"></span>
</a>
<div class="gui-selectbox-dialog">
<ul>
<li>Option 1</li>
<li>Option 2</li>
<li>Option 3</li>
<ul>
</div>
</div>
下面是代碼:http://jsfiddle.net/aspirinemaga/XR4Y3/
應該以這種方式工作:
- 當我的任何元素上點擊,它應該關閉所有selectboxes
- 當我點擊在「.gui-selectbox-button」上,它應該顯示「.gui-selectbox-dialog」其父「.gui-selectbox」
- 如果用戶cli 「.gui-選擇框按鈕」和「.gui-選擇框,對話框」之外中正,它應該關閉每個打開的selectboxes
更新:
我怎麼能告訴工作以不關閉如果當前目標是它的孩子,父母div?
這裏是一個例子:http://jsfiddle.net/aspirinemaga/ejyRR/5/。這是第三個因素。
是'href =「選擇框按鈕」'假設是'class =「選擇框按鈕」'? – 2012-01-06 15:13:20
我讓你工作JSfiddle:http://jsfiddle.net/XR4Y3/5/ – Jules 2012-01-06 15:37:05