防止Android触摸事件延迟
Preventing lag on touch events in Android
我正在构建一个基于phonegap的Android/iOS应用程序。该应用程序应该检测用户的滑动。
在Android上,当检测到手势时,应用程序在执行我的代码之前始终显示大约200ms的延迟。
通过阅读,我了解到这种延迟可能是由Android区分滑动和正常点击的方式造成的。如果你在触摸后200毫秒内调用e.preventDefault()
, WebKit会让你把它当作滑动来处理。
问题:
是否有一种方法可以完全消除这种延迟,并强制WebKit假设事件是滑动,从而消除延迟?
实际上,延迟大约是300ms,在这篇文章[1]中,给出了浏览器oem实现这种行为的原因。有一个叫做fastclick[2]的库可以用来防止这种情况。就我个人而言,我正在使用聚合物手势,它具有更广泛的范围,但从整体上解决了检测手势和防止300毫秒延迟的问题。
[1] http://updates.html5rocks.com/2013/12/300ms-tap-delay-gone-away [2] https://github.com/ftlabs/fastclick[3] https://github.com/Polymer/polymer-gestures
相关文章:
- 实现延迟的jquery更改事件处理程序
- 延迟单击事件,直到AJAX完成
- JavaScript 事件处理具有延迟的滚动事件
- 将单击事件附加到按钮或链接上的类,该按钮或链接会触发 AJAX 帖子,然后延迟并继续原始操作
- 我想要“鼠标滚轮事件延迟”
- 使用Facebook's EventEmitter是一种让延迟侦听器接收已经发出的事件的方法
- 带有标签的外部链接会延迟滚动事件
- 如何在JavaScript中测量交互和mousedown事件之间的延迟
- 鼠标输入事件上的jQuery延迟出现问题
- Javascript延迟事件
- 延迟后JS setTimeout获取事件
- 延迟开启(“点击”)事件
- 链接一系列具有中间延迟的javascript事件
- 如何将隐藏/显示事件延迟到提交后Iframe加载
- jQuery函数:为什么第一个事件的完成延迟到第二个事件完成
- 如何使用jQuery延迟事件传播
- 延迟事件侦听器
- 如何在jQuery中延迟事件
- 如何触发自定义延迟事件
- 使用setTimeout()来延迟事件