diff --git a/docs/_js/examples/markdown.js b/docs/_js/examples/markdown.js index ec4363f56ca08..ec70b95503a87 100644 --- a/docs/_js/examples/markdown.js +++ b/docs/_js/examples/markdown.js @@ -11,14 +11,14 @@ var MarkdownEditor = React.createClass({\n\ getInitialState: function() {\n\ return {value: 'Type some *markdown* here!'};\n\ },\n\ - handleKeyUp: React.autoBind(function() {\n\ + handleInput: React.autoBind(function() {\n\ this.setState({value: this.refs.textarea.getDOMNode().value});\n\ }),\n\ render: function() {\n\ return (\n\
\n\

Input

\n\ - \n\

Output

\n\ diff --git a/examples/ballmer-peak/example.js b/examples/ballmer-peak/example.js index 1ca43989a086d..0a92b7c17dbac 100644 --- a/examples/ballmer-peak/example.js +++ b/examples/ballmer-peak/example.js @@ -33,7 +33,7 @@ var BallmerPeakCalculator = React.createClass({

Compute your Ballmer Peak:

If your BAC is{' '} - + {', '}then {pct} of your lines of code will have bugs.

diff --git a/src/core/ReactEvent.js b/src/core/ReactEvent.js index dd2058f368993..702c8816c3c2c 100644 --- a/src/core/ReactEvent.js +++ b/src/core/ReactEvent.js @@ -211,6 +211,7 @@ function listenAtTopLevel(touchNotMouse) { trapBubbledEvent(topLevelTypes.topKeyUp, 'keyup', mountAt); trapBubbledEvent(topLevelTypes.topKeyPress, 'keypress', mountAt); trapBubbledEvent(topLevelTypes.topKeyDown, 'keydown', mountAt); + trapBubbledEvent(topLevelTypes.topInput, 'input', mountAt); trapBubbledEvent(topLevelTypes.topChange, 'change', mountAt); trapBubbledEvent( topLevelTypes.topDOMCharacterDataModified, diff --git a/src/event/EventConstants.js b/src/event/EventConstants.js index 0ce7820a8ee5b..0af7b9d0b29b1 100644 --- a/src/event/EventConstants.js +++ b/src/event/EventConstants.js @@ -32,6 +32,7 @@ var topLevelTypes = keyMirror({ topDOMCharacterDataModified: null, topDoubleClick: null, topFocus: null, + topInput: null, topKeyDown: null, topKeyPress: null, topKeyUp: null, diff --git a/src/eventPlugins/SimpleEventPlugin.js b/src/eventPlugins/SimpleEventPlugin.js index 7591ee3542681..0453fde60a5cc 100644 --- a/src/eventPlugins/SimpleEventPlugin.js +++ b/src/eventPlugins/SimpleEventPlugin.js @@ -108,6 +108,12 @@ var SimpleEventPlugin = { captured: keyOf({onKeyDownCapture: true}) } }, + input: { + phasedRegistrationNames: { + bubbled: keyOf({onInput: true}), + captured: keyOf({onInputCapture: true}) + } + }, focus: { phasedRegistrationNames: { bubbled: keyOf({onFocus: true}), @@ -220,6 +226,7 @@ SimpleEventPlugin.topLevelTypesToAbstract = { topKeyUp: SimpleEventPlugin.abstractEventTypes.keyUp, topKeyPress: SimpleEventPlugin.abstractEventTypes.keyPress, topKeyDown: SimpleEventPlugin.abstractEventTypes.keyDown, + topInput: SimpleEventPlugin.abstractEventTypes.input, topFocus: SimpleEventPlugin.abstractEventTypes.focus, topBlur: SimpleEventPlugin.abstractEventTypes.blur, topScroll: SimpleEventPlugin.abstractEventTypes.scroll,