diff --git a/src/browser/dom/components/ReactDOMImg.js b/src/browser/dom/components/ReactDOMImg.js index a5790f2b9bf56..0538fe5ee45cc 100644 --- a/src/browser/dom/components/ReactDOMImg.js +++ b/src/browser/dom/components/ReactDOMImg.js @@ -41,10 +41,16 @@ var ReactDOMImg = ReactCompositeComponent.createClass({ }, componentDidMount: function() { + var node = this.getDOMNode(); ReactEventEmitter.trapBubbledEvent( EventConstants.topLevelTypes.topLoad, 'load', - this.getDOMNode() + node + ); + ReactEventEmitter.trapBubbledEvent( + EventConstants.topLevelTypes.topError, + 'error', + node ); } }); diff --git a/src/browser/eventPlugins/SimpleEventPlugin.js b/src/browser/eventPlugins/SimpleEventPlugin.js index d093238bbd6f5..3e47620decffd 100644 --- a/src/browser/eventPlugins/SimpleEventPlugin.js +++ b/src/browser/eventPlugins/SimpleEventPlugin.js @@ -157,6 +157,12 @@ var eventTypes = { captured: keyOf({onLoadCapture: true}) } }, + error: { + phasedRegistrationNames: { + bubbled: keyOf({onError: true}), + captured: keyOf({onErrorCapture: true}) + } + }, // Note: We do not allow listening to mouseOver events. Instead, use the // onMouseEnter/onMouseLeave created by `EnterLeaveEventPlugin`. mouseDown: { @@ -260,6 +266,7 @@ var topLevelEventsToDispatchConfig = { topDragOver: eventTypes.dragOver, topDragStart: eventTypes.dragStart, topDrop: eventTypes.drop, + topError: eventTypes.error, topFocus: eventTypes.focus, topInput: eventTypes.input, topKeyDown: eventTypes.keyDown, @@ -327,6 +334,7 @@ var SimpleEventPlugin = { switch (topLevelType) { case topLevelTypes.topInput: case topLevelTypes.topLoad: + case topLevelTypes.topError: case topLevelTypes.topReset: case topLevelTypes.topSubmit: // HTML Events diff --git a/src/event/EventConstants.js b/src/event/EventConstants.js index c77b01ec1c78f..193f28ad8c3a1 100644 --- a/src/event/EventConstants.js +++ b/src/event/EventConstants.js @@ -44,6 +44,7 @@ var topLevelTypes = keyMirror({ topDragOver: null, topDragStart: null, topDrop: null, + topError: null, topFocus: null, topInput: null, topKeyDown: null,