diff --git a/.travis.yml b/.travis.yml index 34c99bfb64..3899c30bd2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ dist: focal language: node_js node_js: - lts/* - - node + - 21 sudo: false before_install: - sudo apt-get update diff --git a/useScroll/useEvent.js b/useScroll/useEvent.js index ce46d7975d..ba518ce3e7 100644 --- a/useScroll/useEvent.js +++ b/useScroll/useEvent.js @@ -262,7 +262,6 @@ const useEventKey = (props, instances, context) => { const {keyCode, repeat} = ev; forward('onKeyDown', ev, props); - ev.preventDefault(); spottable.current.animateOnFocus = true; @@ -308,21 +307,25 @@ const pointerTracker = (ev) => { const pageKeyHandler = (ev) => { const {keyCode} = ev; - if (Spotlight.getPointerMode() && !Spotlight.getCurrent() && (isPageUp(keyCode) || isPageDown(keyCode))) { - const - {x, y} = lastPointer, - elem = document.elementFromPoint(x, y); - - if (elem) { - for (const [key, value] of scrollers) { - if (utilDOM.containsDangerously(value, elem)) { - /* To handle page keys in nested scrollable components, - * break the loop only when `scrollByPageOnPointerMode` returns `true`. - * This approach assumes that an inner scrollable component is - * mounted earlier than an outer scrollable component. - */ - if (key.scrollByPageOnPointerMode(ev)) { - break; + if (isPageUp(keyCode) || isPageDown(keyCode)) { + ev.preventDefault(); + + if (Spotlight.getPointerMode() && !Spotlight.getCurrent()) { + const + {x, y} = lastPointer, + elem = document.elementFromPoint(x, y); + + if (elem) { + for (const [key, value] of scrollers) { + if (utilDOM.containsDangerously(value, elem)) { + /* To handle page keys in nested scrollable components, + * break the loop only when `scrollByPageOnPointerMode` returns `true`. + * This approach assumes that an inner scrollable component is + * mounted earlier than an outer scrollable component. + */ + if (key.scrollByPageOnPointerMode(ev)) { + break; + } } } }