Skip to content

Commit 6514e4a

Browse files
authored
React Flare: fix PressLegacy preventDefault issue (#18904)
1 parent a3fccd2 commit 6514e4a

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

packages/react-interactions/events/src/dom/PressLegacy.js

+10-2
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,11 @@ const pressResponderImpl = {
586586
!ctrlKey &&
587587
!altKey
588588
) {
589-
nativeEvent.preventDefault();
589+
// Prevent spacebar press from scrolling the window
590+
const key = nativeEvent.key;
591+
if (key === ' ' || key === 'Spacebar') {
592+
nativeEvent.preventDefault();
593+
}
590594
state.shouldPreventClick = true;
591595
}
592596
} else {
@@ -637,7 +641,11 @@ const pressResponderImpl = {
637641
addRootEventTypes(context, state);
638642
} else {
639643
// Prevent spacebar press from scrolling the window
640-
if (isValidKeyboardEvent(nativeEvent) && nativeEvent.key === ' ') {
644+
const key = nativeEvent.key;
645+
if (
646+
isValidKeyboardEvent(nativeEvent) &&
647+
(key === ' ' || key === 'Spacebar')
648+
) {
641649
nativeEvent.preventDefault();
642650
}
643651
}

packages/react-interactions/events/src/dom/__tests__/PressLegacy-test.internal.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1054,8 +1054,9 @@ describe.each(environmentTable)('Press responder', hasPointerEvents => {
10541054
ReactDOM.render(<Component />, container);
10551055

10561056
const target = createEventTarget(ref.current);
1057-
target.keydown({key: 'Enter', preventDefault});
1057+
target.keydown({key: 'Enter'});
10581058
target.keyup({key: 'Enter'});
1059+
target.click({preventDefault});
10591060
expect(preventDefault).toBeCalled();
10601061
expect(onPress).toHaveBeenCalledWith(
10611062
expect.objectContaining({defaultPrevented: true}),

0 commit comments

Comments
 (0)