@samitouri / QOS-React-2 / commits / c72e906841

Fix double-binding to submit event

Fixes #916.

Ben Alpert committed Jan 17, 2014 at 02:55 UTC c72e9068418680c447ed029a894e6209d809776e
1 file changed +5 -2
src/core/ReactEventEmitter.js
+5 -2
@@ -79,6 +79,10 @@ var merge = require('merge');
79 var alreadyListeningTo = {};
80 var isMonitoringScrollValue = false;
81 var reactTopListenersCounter = 0;
82 +
83 +// For events like 'submit' which don't consistently bubble (which we trap at a
84 +// lower node than `document`), binding at `document` would cause duplicate
85 +// events so we don't include them here
86 var topEventMapping = {
87 topBlur: 'blur',
88 topChange: 'change',
@@ -111,7 +115,6 @@ var topEventMapping = {
115 topPaste: 'paste',
116 topScroll: 'scroll',
117 topSelectionChange: 'selectionchange',
114 - topSubmit: 'submit',
118 topTouchCancel: 'touchcancel',
119 topTouchEnd: 'touchend',
120 topTouchMove: 'touchmove',
@@ -280,7 +283,7 @@ var ReactEventEmitter = merge(ReactEventEmitterMixin, {
283 // to make sure blur and focus event listeners are only attached once
284 isListening[topLevelTypes.topBlur] = true;
285 isListening[topLevelTypes.topFocus] = true;
283 - } else {
286 + } else if (topEventMapping[dependency]) {
287 trapBubbledEvent(topLevelType, topEventMapping[dependency], mountAt);
288 }
289