javascript – iPad touchstart两次射击

前端之家收集整理的这篇文章主要介绍了javascript – iPad touchstart两次射击前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发跨平台触摸事件. (刷卡等)他们在 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,然后touchmove,然后touchend,最后由于某种原因它再做一次touchstart.

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

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

解决方法

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

从jQuery的API documentation

Attach a handler to an event for the elements. The handler is executed at most once per element.

猜你在找的JavaScript相关文章