diff --git a/src/standard/gestures.html b/src/standard/gestures.html index 6cb235f9b8..d10b1f1c50 100644 --- a/src/standard/gestures.html +++ b/src/standard/gestures.html @@ -349,7 +349,7 @@ gobj[dep] = gd = {_count: 0}; } if (gd._count === 0) { - var options = !isMouseEvent(dep) && PASSIVE_TOUCH(); + var options = !isMouseEvent(dep) && dep !== 'touchend' && PASSIVE_TOUCH(); node.addEventListener(dep, this.handleNative, options); } gd[name] = (gd[name] || 0) + 1; @@ -377,7 +377,7 @@ gd[name] = (gd[name] || 1) - 1; gd._count = (gd._count || 1) - 1; if (gd._count === 0) { - var options = !isMouseEvent(dep) && PASSIVE_TOUCH(); + var options = !isMouseEvent(dep) && dep !== 'touchend' && PASSIVE_TOUCH(); node.removeEventListener(dep, this.handleNative, options); } } diff --git a/test/smoke/passive-gestures.html b/test/smoke/passive-gestures.html index 5fa22bd471..b68d600ce9 100644 --- a/test/smoke/passive-gestures.html +++ b/test/smoke/passive-gestures.html @@ -40,11 +40,17 @@ is: 'x-passive', listeners: { 'down': 'prevent', - 'move': 'prevent' + 'move': 'prevent', + 'up': 'prevent', + 'tap': 'allowed', + 'click': 'allowed' }, prevent: function(e) { e.preventDefault(); - console.log('prevented!'); + console.log('prevented?: ' + e.type + ' ' + e.defaultPrevented); + }, + allowed: function(e) { + console.log(e.type + ' allowed'); } });