iPad touchstart两次射击

时间:2012-03-20 17:00:18

标签: 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;

};

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

我应该补充一点,它触发touchstart,然后触摸移动,然后触摸,最后由于某种原因它再次触摸它。

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

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

1 个答案:

答案 0 :(得分:0)

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

来自jQuery的API documentation

  

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