From: Pierre-Denis Vanduynslager Date: Sun, 15 Jan 2017 02:42:24 +0000 (-0500) Subject: Use existing keycode constants in dropdown. (#21697) X-Git-Tag: v4.0.0-beta~147^2~207 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c80e13a48a50caecc3e0c7b2904655e8bdc95d9c;p=thirdparty%2Fbootstrap.git Use existing keycode constants in dropdown. (#21697) --- diff --git a/js/src/dropdown.js b/js/src/dropdown.js index 36305df468..1660d42575 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}`, @@ -213,7 +215,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 }