diff options
author | ThibG <thib@sitedethib.com> | 2020-04-28 13:19:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-28 13:19:39 +0200 |
commit | 77ec0875ea998072f4bb709bfb9b15e80669eeef (patch) | |
tree | 26d089ff3ef3590d720b3dd7e7b826805f9667c6 | |
parent | f70a54b34cf892fc919c7c304b35bcc360311999 (diff) |
Fix page incorrectly scrolling when bringing up dropdown menus (#13574)
Fixes #13573 For some reason (I suspect this may be related to focusing the item before it got drown by the browser), Firefox scrolls to top when bringing up dropdown menus with pre-selected items. This commit uses the “preventScroll” option as, due to the placement behavior, the menu should be visible anyway and not trigger scrolling.
-rw-r--r-- | app/javascript/mastodon/components/dropdown_menu.js | 2 | ||||
-rw-r--r-- | app/javascript/mastodon/features/compose/components/privacy_dropdown.js | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/app/javascript/mastodon/components/dropdown_menu.js b/app/javascript/mastodon/components/dropdown_menu.js index 31c02d735..4734e0f3f 100644 --- a/app/javascript/mastodon/components/dropdown_menu.js +++ b/app/javascript/mastodon/components/dropdown_menu.js @@ -46,7 +46,7 @@ class DropdownMenu extends React.PureComponent { document.addEventListener('keydown', this.handleKeyDown, false); document.addEventListener('touchend', this.handleDocumentClick, listenerOptions); if (this.focusedItem && this.props.openedViaKeyboard) { - this.focusedItem.focus(); + this.focusedItem.focus({ preventScroll: true }); } this.setState({ mounted: true }); } diff --git a/app/javascript/mastodon/features/compose/components/privacy_dropdown.js b/app/javascript/mastodon/features/compose/components/privacy_dropdown.js index 57588fe96..96028e042 100644 --- a/app/javascript/mastodon/features/compose/components/privacy_dropdown.js +++ b/app/javascript/mastodon/features/compose/components/privacy_dropdown.js @@ -100,7 +100,7 @@ class PrivacyDropdownMenu extends React.PureComponent { componentDidMount () { document.addEventListener('click', this.handleDocumentClick, false); document.addEventListener('touchend', this.handleDocumentClick, listenerOptions); - if (this.focusedItem) this.focusedItem.focus(); + if (this.focusedItem) this.focusedItem.focus({ preventScroll: true }); this.setState({ mounted: true }); } |