diff --git a/src/TapEventPlugin.js b/src/TapEventPlugin.js index 672301b1479..fc40247563a 100644 --- a/src/TapEventPlugin.js +++ b/src/TapEventPlugin.js @@ -42,11 +42,6 @@ var isTouch = function(topLevelType) { return touchTypes.indexOf(topLevelType) >= 0; } -/** - * Number of pixels that are tolerated in between a `touchStart` and `touchEnd` - * in order to still be considered a 'tap' event. - */ -var tapMoveThreshold = 10; var ignoreMouseThreshold = 750; var startCoords = {x: null, y: null}; var lastTouchEvent = null; @@ -109,7 +104,7 @@ var now = (function() { } })(); -function createTapEventPlugin(shouldRejectClick) { +function createTapEventPlugin(shouldRejectClick, tapMoveThreshold) { return { tapMoveThreshold: tapMoveThreshold, diff --git a/src/injectTapEventPlugin.js b/src/injectTapEventPlugin.js index 807e6d07f75..d8c6a77a044 100644 --- a/src/injectTapEventPlugin.js +++ b/src/injectTapEventPlugin.js @@ -1,11 +1,17 @@ var invariant = require('fbjs/lib/invariant'); var defaultClickRejectionStrategy = require('./defaultClickRejectionStrategy'); +/** + * Number of pixels that are tolerated in between a `touchStart` and `touchEnd` + * in order to still be considered a 'tap' event. + */ +var defaultTapMoveThreshold = 10; var alreadyInjected = false; module.exports = function injectTapEventPlugin (strategyOverrides) { strategyOverrides = strategyOverrides || {} var shouldRejectClick = strategyOverrides.shouldRejectClick || defaultClickRejectionStrategy; + var tapMoveThreshold = strategyOverrides.tapMoveThreshold || defaultTapMoveThreshold; if (process.env.NODE_ENV !== 'production') { invariant( @@ -21,6 +27,6 @@ should be injected by the application.' alreadyInjected = true; require('react-dom/lib/EventPluginHub').injection.injectEventPluginsByName({ - 'TapEventPlugin': require('./TapEventPlugin.js')(shouldRejectClick) + 'TapEventPlugin': require('./TapEventPlugin.js')(shouldRejectClick, tapMoveThreshold) }); };