就面臨着同樣的問題。
下面是一個相關鏈接談論這個:https://github.com/JamieLottering/DropKick/issues/45
您的解決方案(科瑞Aubuchon)做「工作」 ......在於:
當您單擊「外部」下拉列表,它接近......但是......
現在,當你點擊「內部」的下拉菜單(這將是點擊:「dk_container」或‘dk_toggle’) - 下拉不會關閉...
(而且,我不是在說在這裏選擇'選項',而是什麼我說的點擊相同的「向下」箭頭,你點擊查看擺在首位的選項)
我不是JS開發者,我只是結合的解決方案在這裏找到,從引用的解決方案鏈接,到沒有給我錯誤的東西。不知何故,它的工作。
反正試試這個 ...這作品在Chrome,IE,FF +(可以點擊內部或外部,在任何情況下,將工作:)
$(document).click(function(){$('.dk_open').removeClass('dk_open');});
$('dk_open').on('click',function(e){e.stopPropagation();});
$('.dk_container, .dk_toggle').on('click',function(e){var$dk=$(this).parents('.dk_container').first();{$('.dk_open').removeClass('dk_open');$dk.toggleClass('dk_open');}return false;});
..或...如果您願意...這是NOT縮小版本:
$(document).click(function(){
$('.dk_open').removeClass('dk_open');
});
$('.dk_open').on('click',function (e) {
e.stopPropagation();
});
$('.dk_container, .dk_toggle').on('click',function (e) {
var $dk = $(this).parents('.dk_container').first();
if ($.browser.webkit){
$('.dk_open').removeClass('dk_open');
$dk.toggleClass('dk_open');
}
return false;
});
你能建立與http://jsfiddle.net演示?代碼從哪裏調用?單擊處理您設置的'$ dkopen'是要適用於有「dk_open」類的代碼運行時的任何元素 - 它會繼續適用於他們甚至一度類被刪除,也不會適用於稍後添加類的其他元素。 – nnnnnn