jQuery: Stop-dropdown-Menü, das zusammenbricht, wenn ein Klick auf seine Kinder

Habe ich ein top-nav-bar und einige Ihrer Elemente trigger-dropdowns/slide-downs.

Mein problem ist, dass wenn ich auf ein Element klicken, oder eigentlich jedem Bereich innerhalb der dropdown-Liste die dropdown zusammenbricht.

Was ich benötige Hilfe ist, herauszufinden, wie zu vermeiden, kollabiert die dropdown-wenn ein Kind-element angeklickt wird (oder auch, überall in der dropdown-Bereich, da möchte ich Konto für versehentliche Klicks innerhalb der dropdown-aber das sind nicht wirklich die Klicks auf ein child-element).

Hier ist die grundlegende HTML Struktur, die ich habe:

<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>

Meine 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');
});

Hier ein DEMO

Jede Hilfe wird sehr geschätzt.

Dank.

InformationsquelleAutor Ricardo Zea | 2012-11-12
Schreibe einen Kommentar