diff options
| author | Rohit Sharma <[email protected]> | 2021-04-02 00:21:55 +0530 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-04-01 21:51:55 +0300 |
| commit | 20cfbdff79e19e77c24596cdca59c6694283e242 (patch) | |
| tree | 7e3a17c3f3d353da83388ca58328b07ef721f179 /js/src/dropdown.js | |
| parent | f36f8344533d3179b8d82af96e005b3106d9ab46 (diff) | |
| download | bootstrap-20cfbdff79e19e77c24596cdca59c6694283e242.tar.xz bootstrap-20cfbdff79e19e77c24596cdca59c6694283e242.zip | |
Add missing things in `hide` method of dropdown (#33451)
* Update `aria-expanded` attribute in `hide` method
* Remove empty mouseover listeners added for iOS
Diffstat (limited to 'js/src/dropdown.js')
| -rw-r--r-- | js/src/dropdown.js | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/js/src/dropdown.js b/js/src/dropdown.js index 605cbc64d..6b541ed15 100644 --- a/js/src/dropdown.js +++ b/js/src/dropdown.js @@ -218,12 +218,20 @@ class Dropdown extends BaseComponent { return } + // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + if ('ontouchstart' in document.documentElement) { + [].concat(...document.body.children) + .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop())) + } + if (this._popper) { this._popper.destroy() } this._menu.classList.toggle(CLASS_NAME_SHOW) this._element.classList.toggle(CLASS_NAME_SHOW) + this._element.setAttribute('aria-expanded', 'false') Manipulator.removeDataAttribute(this._menu, 'popper') EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget) } @@ -430,14 +438,13 @@ class Dropdown extends BaseComponent { .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop())) } - toggles[i].setAttribute('aria-expanded', 'false') - if (context._popper) { context._popper.destroy() } dropdownMenu.classList.remove(CLASS_NAME_SHOW) toggles[i].classList.remove(CLASS_NAME_SHOW) + toggles[i].setAttribute('aria-expanded', 'false') Manipulator.removeDataAttribute(dropdownMenu, 'popper') EventHandler.trigger(toggles[i], EVENT_HIDDEN, relatedTarget) } |
