From ad27845ccd4fe34189514db23b645d7ab2213496 Mon Sep 17 00:00:00 2001 From: Sophie Alpert Date: Mon, 21 May 2018 17:47:56 -0700 Subject: [PATCH] Fix double-firing submit events (#12877) We were adding a listener at the root when we weren't meant to. Blames to e96dc140599363029bd05565d58bcd4a432db370. This now alerts once (at FORM) instead of twice (at FORM, #document): ``` var Hello = class extends React.Component { render() { return (
{e.preventDefault(); alert('hi ' + e.nativeEvent.currentTarget.nodeName);}}>
); } }; ``` --- packages/react-dom/src/events/ReactBrowserEventEmitter.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/react-dom/src/events/ReactBrowserEventEmitter.js b/packages/react-dom/src/events/ReactBrowserEventEmitter.js index 0a2742a654..d3291263ec 100644 --- a/packages/react-dom/src/events/ReactBrowserEventEmitter.js +++ b/packages/react-dom/src/events/ReactBrowserEventEmitter.js @@ -13,7 +13,9 @@ import { TOP_CANCEL, TOP_CLOSE, TOP_FOCUS, + TOP_RESET, TOP_SCROLL, + TOP_SUBMIT, } from './DOMTopLevelEventTypes'; import { setEnabled, @@ -147,7 +149,7 @@ export function listenTo( trapCapturedEvent(TOP_CLOSE, mountAt); } isListening[TOP_CLOSE] = true; - } else { + } else if (dependency !== TOP_SUBMIT && dependency !== TOP_RESET) { trapBubbledEvent(dependency, mountAt); }