diff options
author | GeoSot <geo.sotis@gmail.com> | 2022-02-19 17:16:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-19 17:16:51 +0300 |
commit | 353ad45b4b8dd3235a9e26dcc614baaa7fa1a840 (patch) | |
tree | 41d50c36428b1a46d8af08099878423c8c621820 /js | |
parent | 4b17868fb47abf6ed2e994b6c1d0961b34b912a9 (diff) |
Dropdown: use a combined selector to filter foreign not shown instances iteration (#35766)
Diffstat (limited to 'js')
-rw-r--r-- | js/src/dropdown.js | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/js/src/dropdown.js b/js/src/dropdown.js index 5635ec96ec..4bb1379f57 100644 --- a/js/src/dropdown.js +++ b/js/src/dropdown.js @@ -50,6 +50,7 @@ const CLASS_NAME_DROPEND = 'dropend' const CLASS_NAME_DROPSTART = 'dropstart' const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dropdown"]' +const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}` const SELECTOR_MENU = '.dropdown-menu' const SELECTOR_NAVBAR = '.navbar' const SELECTOR_NAVBAR_NAV = '.navbar-nav' @@ -341,18 +342,14 @@ class Dropdown extends BaseComponent { return } - const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE) + const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN) - for (const toggle of toggles) { + for (const toggle of openToggles) { const context = Dropdown.getInstance(toggle) if (!context || context._config.autoClose === false) { continue } - if (!context._isShown()) { - continue - } - const composedPath = event.composedPath() const isMenuTarget = composedPath.includes(context._menu) if ( |