Ich habe Schwierigkeiten, mein Dropdown-Menü zu öffnen, wenn ich auf ein Untermenü klicke. Sie würden denken, dass Bootstrap das direkt aus der Box tun würde. Aber ich kann keine Dokumentation darüber finden.Bootstrap - So halten Sie das Dropdown-Menü geöffnet, wenn das Untermenü geöffnet ist
hier ist, was ich als eine Lösung gefunden: https://www.bootply.com/rgvY6oPO1J
In meinem HTML ich habe dies:
<div class="btn-group" id="myDropdown">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
Menu
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">Choice1</a></li>
<li><a href="#">Choice2</a></li>
<li><a href="#" id="btn-mynumbers" data-toggle="collapse" data-target="#mynumbers" aria-expanded="false">Numbers</a>
<ul class="nav collapse" id="mynumbers" role="menu" aria-labelledby="btn-mynumbers">
<li><a href="">1</a></li>
<li><a href="">2</a></li>
<li><a href="">3</a></li>
<li><a href="">4</a></li>
<li><a href="">5</a></li>
</ul>
</li>
<li><a href="#">Choice3</a></li>
<li class="divider"></li>
<li><a href="#">Choice..</a></li>
</ul>
</div>
Und hier ist, was in meinem JavaScript:
$("#btn-mynumbers").on("click", function (e) {
e.stopPropagation();
$("#mynumbers").slideToggle("fast");
});
für die das meiste funktioniert. Aber ich werde viele Menüpunkte haben, und ich möchte nicht für jedes von mir erstellte Untermenü einen On-Click-Anrufer erstellen.
Also habe ich versucht,
Onclick = setzen "Toggle (this);"
in
id = "BTN-mynumbers"
und die Schaffung der Funktion:
function Toggle(element) {
event.stopPropagation();
var parentid = element.id;
var childid = $(parentid).children("ul").attr("id");
$(childid).slideToggle("fast");
}
, so kann ich jedes Untermenü geben Sie auf die Fähigkeit, offen bleiben. aber das Ereignis stoppte die ALL-Propagierung, sogar das SlideToggle. Ich weiß nicht, wie ich das Drop-Down-Fenster offen halten kann, wenn ein Untermenü heruntergleitet.