aboutsummaryrefslogtreecommitdiff
path: root/js/button.js
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2014-07-07 22:10:22 -0700
committerMark Otto <[email protected]>2014-07-07 22:10:22 -0700
commit81b59d35368bc51d361d0352cc92fe99dc580fbf (patch)
tree2395d5e79edaaa8c0a7ad82e99931ec895421532 /js/button.js
parentfed2b0f7eb78438eb1b768782b04651881d88740 (diff)
parentddee04038f946ac103eb4e70c8eb7adeb2cf563b (diff)
downloadbootstrap-81b59d35368bc51d361d0352cc92fe99dc580fbf.tar.xz
bootstrap-81b59d35368bc51d361d0352cc92fe99dc580fbf.zip
Merge branch 'master' into derp
Conflicts: docs/_layouts/default.html docs/assets/css/docs.min.css docs/assets/css/src/docs.css docs/assets/js/docs.min.js docs/assets/js/src/application.js
Diffstat (limited to 'js/button.js')
-rw-r--r--js/button.js43
1 files changed, 31 insertions, 12 deletions
diff --git a/js/button.js b/js/button.js
index f4d8d8b30..7e2a6e4e8 100644
--- a/js/button.js
+++ b/js/button.js
@@ -1,5 +1,5 @@
/* ========================================================================
- * Bootstrap: button.js v3.1.1
+ * Bootstrap: button.js v3.2.0
* http://getbootstrap.com/javascript/#buttons
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -19,6 +19,8 @@
this.isLoading = false
}
+ Button.VERSION = '3.2.0'
+
Button.DEFAULTS = {
loadingText: 'loading...'
}
@@ -31,9 +33,9 @@
state = state + 'Text'
- if (!data.resetText) $el.data('resetText', $el[val]())
+ if (data.resetText == null) $el.data('resetText', $el[val]())
- $el[val](data[state] || this.options[state])
+ $el[val](data[state] == null ? this.options[state] : data[state])
// push to event loop to allow forms to submit
setTimeout($.proxy(function () {
@@ -67,9 +69,7 @@
// BUTTON PLUGIN DEFINITION
// ========================
- var old = $.fn.button
-
- $.fn.button = function (option) {
+ function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.button')
@@ -82,6 +82,9 @@
})
}
+ var old = $.fn.button
+
+ $.fn.button = Plugin
$.fn.button.Constructor = Button
@@ -94,14 +97,30 @@
}
+ // FOCUS SHIM (FOR BUTTON GROUPS)
+ // ==============================
+
+ function getBtnTarget(target) {
+ var $target = $(target)
+ return $target.hasClass('btn') ? $target : $target.parent('.btn')
+ }
+
+
// BUTTON DATA-API
// ===============
- $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) {
- var $btn = $(e.target)
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
- $btn.button('toggle')
- e.preventDefault()
- })
+ $(document)
+ .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+ var $btn = $(e.target)
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+ Plugin.call($btn, 'toggle')
+ e.preventDefault()
+ })
+ .on('focus.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+ getBtnTarget(e.target).addClass('focus')
+ })
+ .on('blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+ getBtnTarget(e.target).removeClass('focus')
+ })
}(jQuery);