我有這個菜單,我的問題是,我需要它的行爲,以便它只在點擊父菜單項時切換。現在你可以通過點擊身體上的某個地方關閉下拉菜單,這不是我想要的行爲。只有在點擊父菜單項時,下拉菜單纔會關閉。可能?怎麼樣?Bootstrap下拉防止切換身體點擊?
HTML:
<div class="navigation">
<ul class="menu nav">
<li class="first expanded dropdown"><span title="" class="active-trail dropdown-toggle nolink" data-target="#" data-toggle="dropdown">Ekonomiförvaltning <span class="caret"></span></span>
<ul class="dropdown-menu">
<li class="first leaf"><a href="#" title="">Ekonomiförvaltning</a></li>
<li class="leaf"><a href="#" title="">Redovisningstjänster</a></li>
<li class="leaf"><a href="#" title="">Controller-tjänst</a></li>
<li class="leaf"><a href="#" title="">Disponenttjänster</a></li>
<li class="leaf"><a href="#" title="">Skatterådgivning & lagtjänster</a></li>
<li class="last leaf"><a href="#" title="">Företagsförvärv</a></li>
</ul>
</li>
<li class="expanded dropdown"><span title="" data-target="#" class="dropdown-toggle nolink" data-toggle="dropdown">Lönehantering <span class="caret"></span></span>
<ul class="dropdown-menu">
<li class="first leaf"><a href="#" title="">Lönehantering</a></li>
<li class="leaf"><a href="#" title="">Löneberäkning</a></li>
<li class="leaf"><a href="#" title="">HR-tjänster</a></li>
<li class="last leaf"><a href="#r" title="">Reseräkningar</a></li>
</ul>
</li>
<li class="last expanded dropdown"><span title="" data-target="#" class="dropdown-toggle nolink" data-toggle="dropdown">Programvaror <span class="caret"></span></span>
<ul class="dropdown-menu">
<li class="first leaf"><a href="#" title="">Programvaror</a></li>
<li class="leaf"><a href="#" title="">Löneprogram</a></li>
<li class="leaf"><a href="#" title="">ERP-affärssystem</a></li>
<li class="last leaf"><a href="#" title="">Personaladministration</a></li>
</ul>
</li>
</ul>
</div>
的Jquery:
$('.dropdown').on('show.bs.dropdown', function() {
$(this).find('.dropdown-menu').first().stop(true, true).slideDown();
$(this).find('a.dropdown-toggle').removeAttr('data-toggle');
});
$('.dropdown').on('hide.bs.dropdown', function(){
$(this).find('.dropdown-menu').first().stop(true, true).slideUp();
});
謝謝!這完美的作品! – iamfredrik
@iamfredrik不客氣 – gaetanoM
這是干擾我的覆蓋,但更改$(this).closest()到$(e.target).closest()似乎已經工作。 – iamfredrik