Bootstrap -JS-Dropdown


JS-Dropdown (dropdown.js)

Ein Dropdown-Menü ist ein umschaltbares Menü, das es dem Benutzer ermöglicht, einen Wert aus einer vordefinierten Liste auszuwählen.

Ein Tutorial zu Dropdowns finden Sie in unserem Bootstrap-Dropdowns-Tutorial .


Die Dropdown-Plugin-Klassen

Class Description Example
.dropdown Indicates a dropdown menu
.dropdown-menu Builds the dropdown menu
.dropdown-menu-right Right-aligns a dropdown menu
.dropdown-header Adds a header inside the dropdown menu
.dropup Indicates a dropup menu
.disabled Disables an item in the dropdown menu
.divider Separates items inside the dropdown menu with a horizontal line

Über data-* Attribute

Fügen Sie data-toggle="dropdown"einem Link oder einer Schaltfläche hinzu, um ein Dropdown-Menü umzuschalten.

Beispiel

<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown Example</a>

Über JavaScript

Manuell aktivieren mit:

Beispiel

$('.dropdown-toggle').dropdown();

Hinweis: Das data-toggle="dropdown"-Attribut ist unabhängig davon erforderlich, ob Sie die dropdown()-Methode aufrufen.



Dropdown-Optionen

None

Dropdown-Methoden

Die folgende Tabelle listet alle verfügbaren Dropdown-Methoden auf.

Method Description Try it
.dropdown("toggle") Toggles the dropdown

Dropdown-Ereignisse

Die folgende Tabelle listet alle verfügbaren Dropdown-Ereignisse auf.

Event Description Try it
show.bs.dropdown Occurs when the dropdown is about to be shown.
shown.bs.dropdown Occurs when the dropdown is fully shown (after CSS transitions have completed)
hide.bs.dropdown Occurs when the dropdown is about to be hidden
hidden.bs.dropdown Occurs when the dropdown is fully hidden (after CSS transitions have completed)

Tipp: Verwenden Sie event.relatedTarget von jQuery , um das Element abzurufen, das das Dropdown ausgelöst hat:

Beispiel

$(".dropdown").on("show.bs.dropdown", function(event){
  var x = $(event.relatedTarget).text(); // Get the text of the element
  alert(x);
});

Mehr Beispiele

Ändern Sie das Caret-Symbol auf den Kopf

Das folgende Beispiel ändert das Caret-Symbol von unten nach oben, wenn Sie auf das Dropdown-Menü klicken:

Beispiel

/* CSS: */
<style>
.caret.caret-up {
  border-top-width: 0;
  border-bottom: 4px solid #fff;
}
</style>

/* JS: */
<script>
$(document).ready(function(){
  $(".dropdown").on("hide.bs.dropdown", function(){
    $(".btn").html('Dropdown <span class="caret"></span>');
  });
  $(".dropdown").on("show.bs.dropdown", function(){
    $(".btn").html('Dropdown <span class="caret caret-up"></span>');
  });
});
</script>

Navigationsleiste mit Dropdown

Das folgende Beispiel fügt ein Dropdown-Menü für eine Schaltfläche in der Navigationsleiste hinzu:

Beispiel

<nav class="navbar navbar-inverse">
  <div class="container-fluid">
    <div class="navbar-header">
      <a class="navbar-brand" href="#">WebSiteName</a>
    </div>
    <div>
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1
          <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Page 1-1</a></li>
            <li><a href="#">Page 1-2</a></li>
            <li><a href="#">Page 1-3</a></li>
          </ul>
        </li>
        <li><a href="#">Page 2</a></li>
        <li><a href="#">Page 3</a></li>
      </ul>
    </div>
  </div>
</nav>

Das folgende Beispiel fügt ein Dropdown-Menü mit einem Anmeldeformular in der Navigationsleiste hinzu:

Beispiel

<ul class="nav navbar-nav navbar-right">
  <li class="dropdown">
    <a class="dropdown-toggle" data-toggle="dropdown" href="#">Login <span class="glyphicon glyphicon-log-in"></span></a>
    <div class="dropdown-menu">
      <form id="formlogin" class="form container-fluid">
        <div class="form-group">
          <label for="usr">Name:</label>
          <input type="text" class="form-control" id="usr">
        </div>
        <div class="form-group">
          <label for="pwd">Password:</label>
          <input type="password" class="form-control" id="pwd">
        </div>
          <button type="button" id="btnLogin" class="btn btn-block">Login</button>
      </form>
      <div class="container-fluid">
        <a class="small" href="#">Forgot password?</a>
      </div>
    </div>
  </li>
</ul>

Dropdown-Listen mit mehreren Ebenen

In diesem Beispiel verwenden wir jQuery, um mehrstufige Dropdowns per Klick zu öffnen:

Beispiel

<script>
$(document).ready(function(){
  $('.dropdown-submenu a.test').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});
</script>

In diesem Beispiel haben wir eine benutzerdefinierte .dropdown-submenuKlasse für mehrstufige Dropdowns erstellt:

Beispiel

 /* CSS: */
<style>
.dropdown-submenu {
  position: relative;
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -1px;
}
</style>

/* JS: */
<script>
$(document).ready(function(){
  $('.dropdown-submenu a.test').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});
</script>