From a2e352ea76a711de67d891568301fa497a93a39c Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Mon, 30 Dec 2013 17:36:45 -0700 Subject: [PATCH] Add onMouseOver and onMouseOut events Fixes #340. Test Plan: Ported @danielstocks's jsfiddle (linked in the issue) to React and the hover effect worked properly. --- docs/docs/ref-05-events.md | 2 +- src/eventPlugins/SimpleEventPlugin.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/docs/ref-05-events.md b/docs/docs/ref-05-events.md index f8a6a9bd9e..dcbba3bc30 100644 --- a/docs/docs/ref-05-events.md +++ b/docs/docs/ref-05-events.md @@ -106,7 +106,7 @@ Event names: ``` onClick onDoubleClick onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave -onMouseMove onMouseUp +onMouseMove onMouseOut onMouseOver onMouseUp ``` Properties: diff --git a/src/eventPlugins/SimpleEventPlugin.js b/src/eventPlugins/SimpleEventPlugin.js index 3e0eb38c71..ea88d144ba 100644 --- a/src/eventPlugins/SimpleEventPlugin.js +++ b/src/eventPlugins/SimpleEventPlugin.js @@ -164,6 +164,18 @@ var eventTypes = { captured: keyOf({onMouseMoveCapture: true}) } }, + mouseOut: { + phasedRegistrationNames: { + bubbled: keyOf({onMouseOut: true}), + captured: keyOf({onMouseOutCapture: true}) + } + }, + mouseOver: { + phasedRegistrationNames: { + bubbled: keyOf({onMouseOver: true}), + captured: keyOf({onMouseOverCapture: true}) + } + }, mouseUp: { phasedRegistrationNames: { bubbled: keyOf({onMouseUp: true}), @@ -242,6 +254,8 @@ var topLevelEventsToDispatchConfig = { topKeyUp: eventTypes.keyUp, topMouseDown: eventTypes.mouseDown, topMouseMove: eventTypes.mouseMove, + topMouseOut: eventTypes.mouseOut, + topMouseOver: eventTypes.mouseOver, topMouseUp: eventTypes.mouseUp, topPaste: eventTypes.paste, topScroll: eventTypes.scroll, @@ -318,6 +332,8 @@ var SimpleEventPlugin = { case topLevelTypes.topDoubleClick: case topLevelTypes.topMouseDown: case topLevelTypes.topMouseMove: + case topLevelTypes.topMouseOut: + case topLevelTypes.topMouseOver: case topLevelTypes.topMouseUp: EventConstructor = SyntheticMouseEvent; break;