9.0 KiB
layout | title |
---|---|
page | Dropdowns |
Add dropdown menus to nearly anything with this simple plugin, including the navbar, tabs, and pills.
Within navbars
- Dropdown
- Dropdown 2
Within pills
- Regular link
- Dropdown
- Dropdown 2
- Dropdown 3
Usage
Via data attributes or JavaScript, the dropdown plugin toggles hidden content (dropdown menus) by toggling the .open
class on the parent list item.
On mobile devices, opening a dropdown adds a .dropdown-backdrop
as a tap area for closing dropdown menus when tapping outside the menu, a requirement for proper iOS support. This means that switching from an open dropdown menu to a different dropdown menu requires an extra tap on mobile.
Note: The data-toggle="dropdown"
attribute is relied on for closing dropdown menus at an application level, so it's a good idea to always use it.
Via data attributes
Add data-toggle="dropdown"
to a link or button to toggle a dropdown.
{% highlight html %}
-
...
To keep URLs intact with link buttons, use the data-target
attribute instead of href="#"
.
{% highlight html %}
-
...
Via JavaScript
Call the dropdowns via JavaScript:
{% highlight js %} $('.dropdown-toggle').dropdown() {% endhighlight %}
data-toggle="dropdown"
still required
Regardless of whether you call your dropdown via JavaScript or instead use the data-api, data-toggle="dropdown"
is always required to be present on the dropdown's trigger element.
Options
None.
Methods
$().dropdown('toggle')
Toggles the dropdown menu of a given navbar or tabbed navigation.
Events
All dropdown events are fired at the .dropdown-menu
's parent element and have a relatedTarget
property, whose value is the toggling anchor element.
Event Type | Description |
---|---|
show.bs.dropdown | This event fires immediately when the show instance method is called. |
shown.bs.dropdown | This event is fired when the dropdown has been made visible to the user (will wait for CSS transitions, to complete). |
hide.bs.dropdown | This event is fired immediately when the hide instance method has been called. |
hidden.bs.dropdown | This event is fired when the dropdown has finished being hidden from the user (will wait for CSS transitions, to complete). |
{% highlight js %} $('#myDropdown').on('show.bs.dropdown', function () { // do something… }) {% endhighlight %}