1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-08-10 15:44:51 +02:00
[ci skip]
This commit is contained in:
Chris Rebert
2016-06-04 18:21:15 -07:00
parent eb350d1a7c
commit 0f3d427bbd
35 changed files with 176 additions and 87 deletions

14
js/dist/dropdown.js vendored
View File

@@ -25,6 +25,10 @@ var Dropdown = (function ($) {
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
var Event = {
HIDE: 'hide' + EVENT_KEY,
@@ -159,7 +163,7 @@ var Dropdown = (function ($) {
}, {
key: '_clearMenus',
value: function _clearMenus(event) {
if (event && event.which === 3) {
if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
return;
}
@@ -222,9 +226,9 @@ var Dropdown = (function ($) {
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.OPEN);
if (!isActive && event.which !== 27 || isActive && event.which === 27) {
if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
if (event.which === 27) {
if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus');
}
@@ -245,12 +249,12 @@ var Dropdown = (function ($) {
var index = items.indexOf(event.target);
if (event.which === 38 && index > 0) {
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up
index--;
}
if (event.which === 40 && index < items.length - 1) {
if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down
index++;
}