summaryrefslogtreecommitdiff
path: root/bower_components/bootstrap/js/dropdown.js
diff options
context:
space:
mode:
Diffstat (limited to 'bower_components/bootstrap/js/dropdown.js')
-rw-r--r--bower_components/bootstrap/js/dropdown.js45
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);