iPad触摸启动启动两次
iPad touchstart firing twice
我正在处理跨平台触摸事件。(滑动等)它们在安卓设备上工作,但在iPad上,触摸启动事件启动了两次。
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
屏幕截图:https://i.stack.imgur.com/KQqce.png
如果您使用的是像jQuery或Zepto这样的库,那么您可以使用.one
方法。
来自jQuery的API文档:
将处理程序附加到元素的事件。处理程序已执行每个元素最多一次。
相关文章:
- Meteor Router数据函数被调用两次
- 从MySQL数据库中获取输入数据需要两次页面刷新
- Module.start()已激发两次
- Jquery点击事件必须点击两次
- Append元素在运行两次函数后不显示
- 防止双击执行两次jQuery post请求
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 单击jQuery会激发两次
- 如何避免在树上走两次
- button.单击两次删除附加操作后不工作
- 一次点击,两次'单击'事件已启动
- 按钮点击功能启动两次
- 按钮启动应用程序,但不会启动两次
- iPad触摸启动启动两次
- Javascript启动函数两次,4个函数中的1个不起作用
- Remysharp's js Inview插件两次启动速度转换
- jBoxajax启动了两次
- Mobilefirst Ionic ng启动应用程序点击两次
- Metalsmith插件:为什么tiny-lr服务器启动两次?
- 如果子控制器处于相同状态,则angular ui路由器-嵌套控制器-父控制器将启动两次