From 3275ca4b30383390d3475beb8c4f43343ab31f5c Mon Sep 17 00:00:00 2001 From: "Patrick H. Lauke" Date: Wed, 12 Apr 2017 13:54:16 +0100 Subject: Reword "mobile" to "touch-enabled" ...as touch is not exclusive to "mobile" anymore nowadays. also explicitly clarifies this is a fix for iOS, and that it impacts touch laptops etc as well. lastly, renames the variable from "dropdown" to "backdrop" for clarity/consistency --- js/src/dropdown.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'js/src') diff --git a/js/src/dropdown.js b/js/src/dropdown.js index 644273a0a..96b7c8773 100644 --- a/js/src/dropdown.js +++ b/js/src/dropdown.js @@ -112,11 +112,12 @@ const Dropdown = (($) => { if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) { - // if mobile we use a backdrop because click events don't delegate - const dropdown = document.createElement('div') - dropdown.className = ClassName.BACKDROP - $(dropdown).insertBefore(this) - $(dropdown).on('click', Dropdown._clearMenus) + // if touch-enabled device we use a backdrop because click events + // don't delegate on iOS - see https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + const backdrop = document.createElement('div') + backdrop.className = ClassName.BACKDROP + $(backdrop).insertBefore(this) + $(backdrop).on('click', Dropdown._clearMenus) } this.focus() -- cgit v1.2.3