我有一个顶部导航栏,它的一些项目触发下拉/下滑。
我的问题是,每当我单击一个项目,或者实际上是下拉列表中的任何区域时,下拉列表都会崩溃。
我需要帮助的是弄清楚如何避免在单击子元素时折叠下拉列表(或者,下拉区域内的任何位置,因为我想考虑下拉列表内的意外点击,但实际上并不是点击子元素)。
这是我拥有的基本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');
});
这是一个演示
任何帮助是极大的赞赏。
谢谢。