iPad触摸启动启动两次

iPad touchstart firing twice

本文关键字:启动 两次 触摸 iPad      更新时间:2023-09-26

我正在处理跨平台触摸事件。(滑动等)它们在安卓设备上工作,但在iPad上,触摸启动事件启动了两次。

this.element.addEventListener('touchstart', mousedown, false);
var mousedown = function(event) {
    // Finger Press
    event.preventDefault();
    _this.inGesture = true;
    _this._originalX = (event.touches) ? event.touches[0].pageX : event.pageX;
    _this._originalY = (event.touches) ? event.touches[0].pageY : event.pageY;
};

这个功能在iPad上启动了两次,但在Android上运行正常。

我应该补充一点,它触发了touchstart,然后是touchmove,然后是touchend,最后它出于某种原因进行了另一次touchstart。

这是在JSFiddle上:http://jsfiddle.net/6Lb3Z/1

屏幕截图:https://i.stack.imgur.com/KQqce.png

如果您使用的是像jQuery或Zepto这样的库,那么您可以使用.one方法。

来自jQuery的API文档:

将处理程序附加到元素的事件。处理程序已执行每个元素最多一次。