我有一個頂部的導航欄,其中的一些項目觸發下拉/下拉菜單。jQuery:點擊其子女時停止下拉菜單崩潰
我的問題是,無論何時點擊一個項目,或者實際上下拉菜單中的任何區域,下拉菜單都會崩潰。
我需要幫助的是確定如何避免在單擊子元素時摺疊下拉列表(或者,在下拉區域中的任何位置,因爲我想要說明下拉列表中的意外點擊,但不是實際上點擊了一個子元素)。
這裏是基本的HTML 結構我:
<ul class="dropdown">
<li><a href="#" class="noclick nojs">Select your Topic</a>
<ul class="nojs" >
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</li>
</ul>
我的javascript:
$('.dropdown li').click(function() {
//Hide all other drop downs that are visible, and remove the class 'selected'
$(this).siblings('.selected').removeClass('selected').find('ul:visible').slideUp('fast');
//Show/Hide dropdowns
$(this).toggleClass('selected');
$('ul:first', this).stop(true, true).slideToggle('fast');
});
這裏有一個DEMO
任何幫助是極大的讚賞。
謝謝。
好吧'stopPropagation();',現在我終於明白它的意思:),你可以告訴我是新來的jQuery。我不必修改我當前的腳本,這非常棒。它完美無瑕,非常感謝。 –