}
+ // 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')
- Plugin.call($btn, '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);