Dropdown menu
Be sure to include popper.min.js before Bootstrap’s JavaScript or use bootstrap.bundle.min.js which contains Popper.js.
css class | description |
---|---|
dropdown | Specifies the container for the dropdown menu. There are variations to other sides
|
dropdown-toggle | Element to toggle menu. Element must have attribute data-bs-toggle="dropdown" (data-toggle="dropdown" in v4.x). |
dropdown-toggle-split | Splits arrow and dropdown. |
dropdown-menu | Specifies the container for the dropdown items. This element should have the aria-labelledby that references to dropdown id. You can use div, nav, ul elements. |
dropdown-menu-dark | Dark theme for dropdown menu, can be applied to the dropdown-menu element. |
dropdown-menu-right | Aligns the items to the right of the dropdown. This class can be applied to a container for dropdown items. |
dropdown-item | Specifies the dropdown item. You can use <button> or <a> elements. |
dropdown-header | Specifies header of dropdown menu. |
dropdown-divider | Specifies divider. |
Code example
You can show dropdown manually via JavaScript.
// data-toggle="dropdown" attribute still required
$(".dropdown-toggle").dropdown("toggle");
nested menu, submenus
The support for sub-menu was disabled in latest version of bootstrap. The option can be re-enabled by including a small CSS.
Code example
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 name | description |
---|---|
show.bs.dropdown | Fires immediately when the show() method is called. |
shown.bs.dropdown | Fires when the dropdown has been made visible to the user. |
hide.bs.dropdown | Fires immediately when the hide() method has been called. |
hidden.bs.dropdown | Fires when the dropdown has finished being hidden from the user. |
Usage with jQuery:
$('#myDropdown').on('show.bs.dropdown', function () {
// do something…
})