防止Android中的触摸事件延迟

时间:2014-05-08 22:08:37

标签: javascript android cordova touch delay

我正在构建一个基于Phonegap的Android / iOS应用程序。该应用程序应该检测用户的滑动。

在Android上,当检测到手势时,应用会在执行我的代码之前始终显示大约 200ms 的延迟。

阅读时,我了解到这种延迟可能是由于Android将滑动与普通水龙头区分开来的。如果您在触摸后经过200毫秒之前拨打e.preventDefault(),WebKit会让您将其作为滑动进行处理。

问题:
有没有办法彻底删除此延迟并强制WebKit假设事件是滑动,从而消除延迟?

1 个答案:

答案 0 :(得分:0)

实际上,延迟大约是300毫秒,在本文[1]中,给出了浏览器OEM实现此行为的原因。 有一个名为fastclick [2]的库可以用来防止这种情况发生。 就个人而言,我使用的聚合物手势范围更广,但整体上解决了检测手势阻止300ms延迟的问题。

[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