aboutsummaryrefslogtreecommitdiff
path: root/js/src
diff options
context:
space:
mode:
authorPierre-Denis Vanduynslager <[email protected]>2017-01-22 17:34:54 -0500
committerPierre-Denis Vanduynslager <[email protected]>2017-01-22 17:34:54 -0500
commit403f55fba976908cd1fd9dfd8ea4a98d035daaf2 (patch)
treeb8e8850f6e3c4f4441ff1b77af9b06891541129b /js/src
parent1cdd0d16c195fccdef33229eba687a0f6a65f56e (diff)
downloadbootstrap-403f55fba976908cd1fd9dfd8ea4a98d035daaf2.tar.xz
bootstrap-403f55fba976908cd1fd9dfd8ea4a98d035daaf2.zip
Fix spacebar key in Firefox for button elements
Diffstat (limited to 'js/src')
-rw-r--r--js/src/dropdown.js8
1 files changed, 4 insertions, 4 deletions
diff --git a/js/src/dropdown.js b/js/src/dropdown.js
index 200f31569..5c204f054 100644
--- a/js/src/dropdown.js
+++ b/js/src/dropdown.js
@@ -28,7 +28,7 @@ const Dropdown = (($) => {
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 REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)
const Event = {
HIDE : `hide${EVENT_KEY}`,
@@ -213,7 +213,7 @@ const Dropdown = (($) => {
}
static _dataApiKeydownHandler(event) {
- if (!REGEXP_KEYDOWN.test(event.which) ||
+ if (!REGEXP_KEYDOWN.test(event.which) && /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||
/input|textarea/i.test(event.target.tagName)) {
return
}
@@ -228,8 +228,8 @@ const Dropdown = (($) => {
const parent = Dropdown._getParentFromElement(this)
const isActive = $(parent).hasClass(ClassName.SHOW)
- if (!isActive && event.which !== ESCAPE_KEYCODE ||
- isActive && event.which === ESCAPE_KEYCODE) {
+ if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||
+ isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
if (event.which === ESCAPE_KEYCODE) {
const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]