bootstrap/docs/javascript/buttons.md
Mark Otto d6b0f45fb7 Merge branch 'master' into derp
Conflicts:
	Gruntfile.js
	dist/css/bootstrap-theme.css
	dist/css/bootstrap-theme.css.map
	dist/css/bootstrap-theme.min.css
	dist/css/bootstrap.css
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/_includes/components/dropdowns.html
	docs/_includes/components/media.html
	docs/_includes/components/navs.html
	docs/_includes/components/progress-bars.html
	docs/_includes/components/responsive-embed.html
	docs/_includes/css/buttons.html
	docs/_includes/css/forms.html
	docs/_includes/css/less.html
	docs/_includes/css/overview.html
	docs/_includes/css/responsive-utilities.html
	docs/_includes/customizer-variables.html
	docs/_includes/getting-started/browser-device-support.html
	docs/_includes/getting-started/grunt.html
	docs/_includes/getting-started/template.html
	docs/_includes/header.html
	docs/_includes/js/alerts.html
	docs/_includes/js/buttons.html
	docs/_includes/js/carousel.html
	docs/_includes/js/collapse.html
	docs/_includes/js/dropdowns.html
	docs/_includes/js/modal.html
	docs/_includes/js/popovers.html
	docs/_includes/js/scrollspy.html
	docs/_includes/js/tabs.html
	docs/_includes/js/tooltips.html
	docs/_includes/nav/components.html
	docs/_includes/nav/getting-started.html
	docs/_layouts/default.html
	docs/about.html
	docs/assets/css/docs.min.css
	docs/assets/css/src/docs.css
	docs/assets/js/customize.min.js
	docs/assets/js/docs.min.js
	docs/assets/js/raw-files.min.js
	docs/browser-bugs.html
	docs/components.html
	docs/components/navbar.md
	docs/css.html
	docs/dist/css/bootstrap-theme.css
	docs/dist/css/bootstrap-theme.css.map
	docs/dist/css/bootstrap-theme.min.css
	docs/dist/css/bootstrap.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
	docs/examples/blog/index.html
	docs/examples/carousel/index.html
	docs/examples/cover/index.html
	docs/examples/dashboard/index.html
	docs/examples/grid/index.html
	docs/examples/jumbotron-narrow/index.html
	docs/examples/jumbotron/index.html
	docs/examples/justified-nav/index.html
	docs/examples/navbar-fixed-top/index.html
	docs/examples/navbar-static-top/index.html
	docs/examples/navbar/index.html
	docs/examples/non-responsive/index.html
	docs/examples/offcanvas/index.html
	docs/examples/signin/index.html
	docs/examples/starter-template/index.html
	docs/examples/sticky-footer-navbar/index.html
	docs/examples/sticky-footer/index.html
	docs/examples/theme/index.html
	docs/examples/tooltip-viewport/index.html
	docs/getting-started.html
	docs/javascript.html
	docs/migration.html
	less/_animation.less
	less/_modal.less
	less/_navbar.less
	less/_variables.less
	less/glyphicons.less
	less/navs.less
	less/panels.less
	less/progress-bars.less
2014-10-26 22:31:59 -07:00

4.2 KiB

layout title
page Buttons

Do more with buttons. Control button states or create groups of buttons for more components like toolbars.

Cross-browser compatibility

Firefox persists form control states (disabledness and checkedness) across page loads. A workaround for this is to use autocomplete="off". See Mozilla bug #654072.

Stateful

Add data-loading-text="Loading..." to use a loading state on a button.

Use whichever state you like!

For the sake of this demonstration, we are using data-loading-text and $().button('loading'), but that's not the only state you can use. See more on this below in the $().button(string) documentation.

{% example html %} Loading state

{% endexample %}

Single toggle

Add data-toggle="button" to activate toggling on a single button.

{% example html %} Single toggle {% endexample %}

Pre-toggled buttons need .active and aria-pressed="true"

For pre-toggled buttons, you must add the .active class and the aria-pressed="true" attribute to the button yourself.

Checkbox and radio

Add data-toggle="buttons" to a .btn-group containing checkbox or radio inputs to enable toggling in their respective styles.

Preselected options need .active

For preselected options, you must add the .active class to the input's label yourself.

Visual checked state only updated on click

If the checked state of a checkbox button is updated without firing a click event on the button (e.g. via <input type="reset"> or via setting the checked property of the input), you will need to toggle the .active class on the input's label yourself.

{% example html %}

Checkbox 1 (pre-checked) Checkbox 2 Checkbox 3
{% endexample %}

{% example html %}

Radio 1 (preselected) Radio 2 Radio 3
{% endexample %}

Methods

$().button('toggle')

Toggles push state. Gives the button the appearance that it has been activated.

$().button('reset')

Resets button state—swaps text to original text.

$().button(string)

Swaps text to any data defined text state.

{% highlight html %} ...

{% endhighlight %}