2014-03-17 03:03:53 +01:00
< div class = "bs-docs-section" >
< h1 id = "dropdowns" class = "page-header" > Dropdowns < small > dropdown.js< / small > < / h1 >
< h2 id = "dropdowns-examples" > Examples< / h2 >
< p > Add dropdown menus to nearly anything with this simple plugin, including the navbar, tabs, and pills.< / p >
< h3 > Within a navbar< / h3 >
< div class = "bs-example" >
< nav id = "navbar-example" class = "navbar navbar-default navbar-static" role = "navigation" >
< div class = "container-fluid" >
< div class = "navbar-header" >
2014-07-02 22:49:03 +02:00
< button class = "navbar-toggle collapsed" type = "button" data-toggle = "collapse" data-target = ".bs-example-js-navbar-collapse" >
2014-03-17 03:03:53 +01:00
< span class = "sr-only" > Toggle navigation< / span >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< / button >
< a class = "navbar-brand" href = "#" > Project Name< / a >
< / div >
< div class = "collapse navbar-collapse bs-example-js-navbar-collapse" >
< ul class = "nav navbar-nav" >
< li class = "dropdown" >
2014-11-12 00:52:52 +01:00
< a id = "drop1" href = "#" class = "dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" role = "button" aria-expanded = "false" >
2014-07-13 00:16:43 +02:00
Dropdown
< span class = "caret" > < / span >
2014-07-24 06:00:48 +02:00
< / a >
2014-03-17 03:03:53 +01:00
< ul class = "dropdown-menu" role = "menu" aria-labelledby = "drop1" >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Another action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Something else here< / a > < / li >
2014-03-17 03:03:53 +01:00
< li role = "presentation" class = "divider" > < / li >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Separated link< / a > < / li >
2014-03-17 03:03:53 +01:00
< / ul >
< / li >
< li class = "dropdown" >
2014-11-12 00:52:52 +01:00
< a id = "drop2" href = "#" class = "dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" role = "button" aria-expanded = "false" >
2014-07-24 06:00:48 +02:00
Dropdown
2014-07-13 00:16:43 +02:00
< span class = "caret" > < / span >
2014-07-24 06:00:48 +02:00
< / a >
2014-03-17 03:03:53 +01:00
< ul class = "dropdown-menu" role = "menu" aria-labelledby = "drop2" >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Another action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Something else here< / a > < / li >
2014-03-17 03:03:53 +01:00
< li role = "presentation" class = "divider" > < / li >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Separated link< / a > < / li >
2014-03-17 03:03:53 +01:00
< / ul >
< / li >
< / ul >
< ul class = "nav navbar-nav navbar-right" >
< li id = "fat-menu" class = "dropdown" >
2014-11-12 00:52:52 +01:00
< a id = "drop3" href = "#" class = "dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" role = "button" aria-expanded = "false" >
2014-07-24 06:00:48 +02:00
Dropdown
2014-07-13 00:16:43 +02:00
< span class = "caret" > < / span >
2014-07-24 06:00:48 +02:00
< / a >
2014-03-17 03:03:53 +01:00
< ul class = "dropdown-menu" role = "menu" aria-labelledby = "drop3" >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Another action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Something else here< / a > < / li >
2014-03-17 03:03:53 +01:00
< li role = "presentation" class = "divider" > < / li >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Separated link< / a > < / li >
2014-03-17 03:03:53 +01:00
< / ul >
< / li >
< / ul >
< / div > <!-- /.nav - collapse -->
< / div > <!-- /.container - fluid -->
< / nav > <!-- /navbar - example -->
< / div > <!-- /example -->
< h3 > Within pills< / h3 >
< div class = "bs-example" >
2014-07-08 04:22:00 +02:00
< ul class = "nav nav-pills" role = "tablist" >
2014-07-08 20:58:33 +02:00
< li role = "presentation" class = "active" > < a href = "#" > Regular link< / a > < / li >
< li role = "presentation" class = "dropdown" >
2014-11-12 00:52:52 +01:00
< a id = "drop4" href = "#" class = "dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" role = "button" aria-expanded = "false" >
2014-07-13 00:16:43 +02:00
Dropdown
< span class = "caret" > < / span >
2014-07-24 06:00:48 +02:00
< / a >
2014-03-17 03:03:53 +01:00
< ul id = "menu1" class = "dropdown-menu" role = "menu" aria-labelledby = "drop4" >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Another action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Something else here< / a > < / li >
2014-03-17 03:03:53 +01:00
< li role = "presentation" class = "divider" > < / li >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Separated link< / a > < / li >
2014-03-17 03:03:53 +01:00
< / ul >
< / li >
2014-07-08 20:58:33 +02:00
< li role = "presentation" class = "dropdown" >
2014-11-12 00:52:52 +01:00
< a id = "drop5" href = "#" class = "dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" role = "button" aria-expanded = "false" >
2014-07-24 06:00:48 +02:00
Dropdown
2014-07-13 00:16:43 +02:00
< span class = "caret" > < / span >
2014-07-24 06:00:48 +02:00
< / a >
2014-03-17 03:03:53 +01:00
< ul id = "menu2" class = "dropdown-menu" role = "menu" aria-labelledby = "drop5" >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Another action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Something else here< / a > < / li >
2014-03-17 03:03:53 +01:00
< li role = "presentation" class = "divider" > < / li >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Separated link< / a > < / li >
2014-03-17 03:03:53 +01:00
< / ul >
< / li >
2014-07-08 20:58:33 +02:00
< li role = "presentation" class = "dropdown" >
2014-11-12 00:52:52 +01:00
< a id = "drop6" href = "#" class = "dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" role = "button" aria-expanded = "false" >
2014-07-24 06:00:48 +02:00
Dropdown
2014-07-13 00:16:43 +02:00
< span class = "caret" > < / span >
2014-07-24 06:00:48 +02:00
< / a >
2014-03-17 03:03:53 +01:00
< ul id = "menu3" class = "dropdown-menu" role = "menu" aria-labelledby = "drop6" >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Another action< / a > < / li >
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Something else here< / a > < / li >
2014-03-17 03:03:53 +01:00
< li role = "presentation" class = "divider" > < / li >
2014-10-07 14:28:41 +02:00
< li role = "presentation" > < a role = "menuitem" tabindex = "-1" href = "https://twitter.com/fat" > Separated link< / a > < / li >
2014-03-17 03:03:53 +01:00
< / ul >
< / li >
< / ul > <!-- /pills -->
< / div > <!-- /example -->
< h2 id = "dropdowns-usage" > Usage< / h2 >
2014-07-07 01:55:35 +02:00
< p > Via data attributes or JavaScript, the dropdown plugin toggles hidden content (dropdown menus) by toggling the < code > .open< / code > class on the parent list item.< / p >
2014-07-07 09:10:49 +02:00
< p > On mobile devices, opening a dropdown adds a < code > .dropdown-backdrop< / code > as a tap area for closing dropdown menus when tapping outside the menu, a requirement for proper iOS support. < strong class = "text-danger" > This means that switching from an open dropdown menu to a different dropdown menu requires an extra tap on mobile.< / strong > < / p >
< p > Note: The < code > data-toggle="dropdown"< / code > attribute is relied on for closing dropdown menus at an application level, so it's a good idea to always use it.< / p >
2014-03-17 03:03:53 +01:00
< h3 > Via data attributes< / h3 >
< p > Add < code > data-toggle="dropdown"< / code > to a link or button to toggle a dropdown.< / p >
{% highlight html %}
< div class = "dropdown" >
2014-11-12 00:52:52 +01:00
< button id = "dLabel" type = "button" data-toggle = "dropdown" aria-haspopup = "true" role = "button" aria-expanded = "false" >
2014-07-13 00:16:43 +02:00
Dropdown trigger
2014-11-01 11:51:11 +01:00
< span class = "caret" > < / span >
2014-07-13 00:16:43 +02:00
< / button >
2014-03-17 03:03:53 +01:00
< ul class = "dropdown-menu" role = "menu" aria-labelledby = "dLabel" >
...
< / ul >
< / div >
{% endhighlight %}
2014-07-13 09:08:25 +02:00
< p > To keep URLs intact with link buttons, use the < code > data-target< / code > attribute instead of < code > href="#"< / code > .< / p >
2014-03-17 03:03:53 +01:00
{% highlight html %}
< div class = "dropdown" >
2014-11-12 00:52:52 +01:00
< a id = "dLabel" data-target = "#" href = "http://example.com" data-toggle = "dropdown" aria-haspopup = "true" role = "button" aria-expanded = "false" >
2014-07-13 09:08:25 +02:00
Dropdown trigger
2014-07-13 00:16:43 +02:00
< span class = "caret" > < / span >
2014-07-13 09:08:25 +02:00
< / a >
2014-03-17 03:03:53 +01:00
< ul class = "dropdown-menu" role = "menu" aria-labelledby = "dLabel" >
...
< / ul >
< / div >
{% endhighlight %}
< h3 > Via JavaScript< / h3 >
< p > Call the dropdowns via JavaScript:< / p >
{% highlight js %}
$('.dropdown-toggle').dropdown()
{% endhighlight %}
< div class = "bs-callout bs-callout-info" >
< h4 > < code > data-toggle="dropdown"< / code > still required< / h4 >
< p > Regardless of whether you call your dropdown via JavaScript or instead use the data-api, < code > data-toggle="dropdown"< / code > is always required to be present on the dropdown's trigger element.< / p >
< / div >
< h3 > Options< / h3 >
< p > < em > None< / em > < / p >
< h3 > Methods< / h3 >
< h4 > $().dropdown('toggle')< / h4 >
< p > Toggles the dropdown menu of a given navbar or tabbed navigation.< / p >
< h3 > Events< / h3 >
< p > All dropdown events are fired at the < code > .dropdown-menu< / code > 's parent element.< / p >
< div class = "table-responsive" >
< table class = "table table-bordered table-striped" >
< thead >
< tr >
< th style = "width: 150px;" > Event Type< / th >
< th > Description< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > show.bs.dropdown< / td >
< td > This event fires immediately when the show instance method is called. The toggling anchor element is available as the < code > relatedTarget< / code > property of the event.< / td >
< / tr >
< tr >
< td > shown.bs.dropdown< / td >
< td > This event is fired when the dropdown has been made visible to the user (will wait for CSS transitions, to complete). The toggling anchor element is available as the < code > relatedTarget< / code > property of the event.< / td >
< / tr >
< tr >
< td > hide.bs.dropdown< / td >
< td > This event is fired immediately when the hide instance method has been called. The toggling anchor element is available as the < code > relatedTarget< / code > property of the event.< / td >
< / tr >
< tr >
< td > hidden.bs.dropdown< / td >
< td > This event is fired when the dropdown has finished being hidden from the user (will wait for CSS transitions, to complete). The toggling anchor element is available as the < code > relatedTarget< / code > property of the event.< / td >
< / tr >
< / tbody >
< / table >
< / div > <!-- ./bs - table - responsive -->
{% highlight js %}
$('#myDropdown').on('show.bs.dropdown', function () {
// do something…
})
{% endhighlight %}
< / div >