【发布时间】:2015-09-28 14:16:30
【问题描述】:
在 CodePen 示例的 JS 面板中使用此代码:
var myElement = document.getElementById('myElement');
var mc = new Hammer.Manager(myElement);
var pinch = new Hammer.Pinch({threshold: 0});
mc.add([pinch])
mc.on("pinch pinchin pinchout pinchstart pinchend", function(ev) {
myElement.textContent += ev.type +" ";
});
并在带有触摸屏的 PC 上的 Chrome 上测试 pinch 事件,您会注意到 pinchend 后面总是有一个额外的“pinchin”事件。捏出时也会发生同样的情况。
顺序将进行:
pinchstart pinch pinchin pinch pinchin... ...pinch pinchin pinch pinchend pinchin
这是一个错误还是设计使然?这与“鬼点击”有关吗?
【问题讨论】:
-
作为一种解决方法,我在 Pinch 侦听器中添加了跟踪最后一个 Pinch 事件的代码。如果之前的 Pinch 事件是“pinchend”,那么我会忽略当前的 pinchin 或 pinchout。
标签: javascript hammer.js pinch bug-reporting