From 0d1fb7be6c4f028cba8361f11d8f2f865b6efae3 Mon Sep 17 00:00:00 2001 From: Clay Tercek Date: Thu, 13 Aug 2020 14:21:25 -0400 Subject: [PATCH 1/2] fix event.relatedTarget fallback logic for firefox --- packages/react-dom/src/events/SyntheticEvent.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/react-dom/src/events/SyntheticEvent.js b/packages/react-dom/src/events/SyntheticEvent.js index a6c7e6041119..e9bb4edf390a 100644 --- a/packages/react-dom/src/events/SyntheticEvent.js +++ b/packages/react-dom/src/events/SyntheticEvent.js @@ -170,12 +170,12 @@ export const MouseEventInterface = { button: 0, buttons: 0, relatedTarget: function(event) { - return ( - event.relatedTarget || - (event.fromElement === event.srcElement + if (!event.relatedTarget && event.fromElement) + return event.fromElement === event.srcElement ? event.toElement - : event.fromElement) - ); + : event.fromElement; + + return event.relatedTarget; }, movementX: function(event) { if ('movementX' in event) { From ccdf9c2f249ff017ce9633fec430c8cd6a68d386 Mon Sep 17 00:00:00 2001 From: Clay Tercek Date: Thu, 13 Aug 2020 15:24:30 -0400 Subject: [PATCH 2/2] check if relatedTarget is undefined for fallback --- packages/react-dom/src/events/SyntheticEvent.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-dom/src/events/SyntheticEvent.js b/packages/react-dom/src/events/SyntheticEvent.js index e9bb4edf390a..e226e95833ca 100644 --- a/packages/react-dom/src/events/SyntheticEvent.js +++ b/packages/react-dom/src/events/SyntheticEvent.js @@ -170,7 +170,7 @@ export const MouseEventInterface = { button: 0, buttons: 0, relatedTarget: function(event) { - if (!event.relatedTarget && event.fromElement) + if (event.relatedTarget === undefined) return event.fromElement === event.srcElement ? event.toElement : event.fromElement;