diff options
author | Thomas Park <thomas@thomaspark.me> | 2014-06-27 01:07:56 -0400 |
---|---|---|
committer | Thomas Park <thomas@thomaspark.me> | 2014-06-27 01:07:56 -0400 |
commit | f3189e26cff5142e200568a81ef3db608530cc6f (patch) | |
tree | 00efe6915ac2ca82e175dbdcb15085b2e90c5ca6 /bower_components/bootstrap/js/dropdown.js | |
parent | 25f107274a4a05e2be8d1c0a7ae77c19f8da5fa9 (diff) |
3.1.1 -> 3.2.0
Diffstat (limited to 'bower_components/bootstrap/js/dropdown.js')
-rw-r--r-- | bower_components/bootstrap/js/dropdown.js | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/bower_components/bootstrap/js/dropdown.js b/bower_components/bootstrap/js/dropdown.js index 43d7ae3e..88f118c2 100644 --- a/bower_components/bootstrap/js/dropdown.js +++ b/bower_components/bootstrap/js/dropdown.js @@ -1,5 +1,5 @@ /* ======================================================================== - * Bootstrap: dropdown.js v3.1.1 + * Bootstrap: dropdown.js v3.2.0 * http://getbootstrap.com/javascript/#dropdowns * ======================================================================== * Copyright 2011-2014 Twitter, Inc. @@ -14,11 +14,13 @@ // ========================= var backdrop = '.dropdown-backdrop' - var toggle = '[data-toggle=dropdown]' + var toggle = '[data-toggle="dropdown"]' var Dropdown = function (element) { $(element).on('click.bs.dropdown', this.toggle) } + Dropdown.VERSION = '3.2.0' + Dropdown.prototype.toggle = function (e) { var $this = $(this) @@ -40,11 +42,11 @@ if (e.isDefaultPrevented()) return + $this.trigger('focus') + $parent .toggleClass('open') .trigger('shown.bs.dropdown', relatedTarget) - - $this.focus() } return false @@ -64,12 +66,12 @@ var isActive = $parent.hasClass('open') if (!isActive || (isActive && e.keyCode == 27)) { - if (e.which == 27) $parent.find(toggle).focus() - return $this.click() + if (e.which == 27) $parent.find(toggle).trigger('focus') + return $this.trigger('click') } var desc = ' li:not(.divider):visible a' - var $items = $parent.find('[role=menu]' + desc + ', [role=listbox]' + desc) + var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc) if (!$items.length) return @@ -79,10 +81,11 @@ if (e.keyCode == 40 && index < $items.length - 1) index++ // down if (!~index) index = 0 - $items.eq(index).focus() + $items.eq(index).trigger('focus') } function clearMenus(e) { + if (e && e.which === 3) return $(backdrop).remove() $(toggle).each(function () { var $parent = getParent($(this)) @@ -99,7 +102,7 @@ if (!selector) { selector = $this.attr('href') - selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = selector && $(selector) @@ -111,9 +114,7 @@ // DROPDOWN PLUGIN DEFINITION // ========================== - var old = $.fn.dropdown - - $.fn.dropdown = function (option) { + function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.dropdown') @@ -123,6 +124,9 @@ }) } + var old = $.fn.dropdown + + $.fn.dropdown = Plugin $.fn.dropdown.Constructor = Dropdown @@ -142,6 +146,6 @@ .on('click.bs.dropdown.data-api', clearMenus) .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) - .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu], [role=listbox]', Dropdown.prototype.keydown) + .on('keydown.bs.dropdown.data-api', toggle + ', [role="menu"], [role="listbox"]', Dropdown.prototype.keydown) }(jQuery); |