iPad touchstart开了两次

Jas*_*ard 7 javascript ipad

我正在开发跨平台触摸事件.(刷卡等)他们在Android设备上工作,但对于iPad,touchstart事件会发射两次.

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;

};
Run Code Online (Sandbox Code Playgroud)

此功能在iPad上触发两次,但在Android上正常运行.

我应该补充一点,它触发touchstart,然后touchmove,然后touchend,最后由于某种原因它再做一次touchstart.

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

截图:http://i.imgur.com/GS8uI.png

小智 0

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

来自jQuery 的API 文档

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

  • 这不是一次吗?而不是每次触摸一次? (4认同)