4

在 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

这是一个错误还是设计使然?这与“鬼点击”有关吗?

4

1 回答 1

0

您应该单独使用“pinch”事件或其他事件(pinchin、pinchout 等),而不是同时使用两者。

只需删除“捏”:

mc.on("pinchin pinchout pinchstart pinchend", function(ev) {
    myElement.textContent += ev.type +" ";
});
于 2016-10-27T14:30:27.840 回答