diff --git a/lib/utils/gestures.html b/lib/utils/gestures.html
index b741455a9d..be74db8e90 100644
--- a/lib/utils/gestures.html
+++ b/lib/utils/gestures.html
@@ -481,7 +481,7 @@
gobj[dep] = gd = {_count: 0};
}
if (gd._count === 0) {
- let options = !isMouseEvent(dep) && PASSIVE_TOUCH();
+ let options = !isMouseEvent(dep) && dep !== 'touchend' && PASSIVE_TOUCH();
node.addEventListener(dep, this._handleNative, options);
}
gd[name] = (gd[name] || 0) + 1;
@@ -515,7 +515,7 @@
gd[name] = (gd[name] || 1) - 1;
gd._count = (gd._count || 1) - 1;
if (gd._count === 0) {
- let options = !isMouseEvent(dep) && PASSIVE_TOUCH();
+ let 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 90e7a9363c..cc578a2d52 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(e) {
e.preventDefault();
- console.log('prevented!');
+ console.log('prevented?: ' + e.type + ' ' + e.defaultPrevented);
+ },
+ allowed(e) {
+ console.log(e.type + ' allowed');
}
});