Javascript iPad touchstart启动两次

Javascript iPad touchstart启动两次,javascript,ipad,Javascript,Ipad,我正在从事跨平台接触活动。(刷卡等)它们在Android设备上工作,但在iPad上,touchstart事件触发了两次 this.element.addEventListener('touchstart', mousedown, false); var mousedown = function(event) { // Finger Press event.preventDefault(); _this.inGesture = true; _this._origi

我正在从事跨平台接触活动。(刷卡等)它们在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

在JSFIDLE上:


屏幕截图:

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

从jQuery的

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


我刚刚在我的iPad上测试了一下,它启动了一次——好吧,谢谢你,问题一定出在别的地方了。这里是在JSFIDLE上:我更新了FIDLE以在JSFIDLE上正确运行;我仍然只看到一个touchstart呼叫:我正在使用iOS 5.1的iPad2。屏幕截图我刚刚在两款不同的iPhone和一款iOS 5.1上的iPad2上进行了测试,测试结果正确。它就在4.3.2版本的iPad2上,我想我现在可以忽略它了!屏幕截图:这不是一次,而不是每次触摸一次吗?