diff options
Diffstat (limited to 'bower_components/bootstrap/js/dropdown.js')
-rw-r--r-- | bower_components/bootstrap/js/dropdown.js | 45 |
1 files changed, 19 insertions, 26 deletions
diff --git a/bower_components/bootstrap/js/dropdown.js b/bower_components/bootstrap/js/dropdown.js index 13352ef7..9c13aac9 100644 --- a/bower_components/bootstrap/js/dropdown.js +++ b/bower_components/bootstrap/js/dropdown.js @@ -1,24 +1,14 @@ /* ======================================================================== - * Bootstrap: dropdown.js v3.0.3 + * Bootstrap: dropdown.js v3.1.0 * http://getbootstrap.com/javascript/#dropdowns * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // DROPDOWN CLASS DEFINITION // ========================= @@ -45,13 +35,14 @@ $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus) } - $parent.trigger(e = $.Event('show.bs.dropdown')) + var relatedTarget = { relatedTarget: this } + $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $parent .toggleClass('open') - .trigger('shown.bs.dropdown') + .trigger('shown.bs.dropdown', relatedTarget) $this.focus() } @@ -77,7 +68,8 @@ return $this.click() } - var $items = $('[role=menu] li:not(.divider):visible a', $parent) + var desc = ' li:not(.divider):visible a' + var $items = $parent.find('[role=menu]' + desc + ', [role=listbox]' + desc) if (!$items.length) return @@ -85,19 +77,20 @@ if (e.keyCode == 38 && index > 0) index-- // up if (e.keyCode == 40 && index < $items.length - 1) index++ // down - if (!~index) index=0 + if (!~index) index = 0 $items.eq(index).focus() } - function clearMenus() { + function clearMenus(e) { $(backdrop).remove() - $(toggle).each(function (e) { + $(toggle).each(function () { var $parent = getParent($(this)) + var relatedTarget = { relatedTarget: this } if (!$parent.hasClass('open')) return - $parent.trigger(e = $.Event('hide.bs.dropdown')) + $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return - $parent.removeClass('open').trigger('hidden.bs.dropdown') + $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) }) } @@ -106,7 +99,7 @@ if (!selector) { selector = $this.attr('href') - selector = selector && /#/.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) @@ -148,7 +141,7 @@ $(document) .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]' , Dropdown.prototype.keydown) + .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) + .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu], [role=listbox]', Dropdown.prototype.keydown) }(jQuery); |