我正在处理跨平台的触摸事件(例如滑动等)。在安卓设备上可以工作,但是在 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