diff options
| author | Pierre-Denis Vanduynslager <[email protected]> | 2017-01-15 10:33:54 -0500 |
|---|---|---|
| committer | Pierre-Denis Vanduynslager <[email protected]> | 2017-01-15 10:33:54 -0500 |
| commit | a85b80fa75aa9ecc7da252411f6209a002e4bdfb (patch) | |
| tree | 90f7083626b4471afe47702bc8567a4918b0313b /js/src/dropdown.js | |
| parent | 4c2f5443596c39c551ebb7ec635d01a98e434189 (diff) | |
| parent | 8fbd4aaa383e3506d2da3c2335eeb66f494f07ad (diff) | |
| download | bootstrap-a85b80fa75aa9ecc7da252411f6209a002e4bdfb.tar.xz bootstrap-a85b80fa75aa9ecc7da252411f6209a002e4bdfb.zip | |
Merge branch 'twbs/v4-dev' into dropdown-keyboard
Diffstat (limited to 'js/src/dropdown.js')
| -rw-r--r-- | js/src/dropdown.js | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/js/src/dropdown.js b/js/src/dropdown.js index cbce5e774..200f31569 100644 --- a/js/src/dropdown.js +++ b/js/src/dropdown.js @@ -24,9 +24,11 @@ const Dropdown = (($) => { const DATA_API_KEY = '.data-api' const JQUERY_NO_CONFLICT = $.fn[NAME] const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key + const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse) + const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}|${SPACE_KEYCODE}`) const Event = { HIDE : `hide${EVENT_KEY}`, @@ -211,7 +213,7 @@ const Dropdown = (($) => { } static _dataApiKeydownHandler(event) { - if (!/(38|40|27|32)/.test(event.which) || + if (!REGEXP_KEYDOWN.test(event.which) || /input|textarea/i.test(event.target.tagName)) { return } |
