在我开发的过去的移动应用中,我发现click
事件在所有设备中都没有按预期工作(例如:在用户必须在屏幕上快速点击/点击的游戏中,而不是触发click
事件时,触发了双击),并使用touchstart
为我想要的结果提供了更好的结果。
从那时起,我开始收听touchstart
事件,而不是click
;但是在Chrome上测试,我在JS控制台中收到了以下警告消息:
不推荐使用需要在touchstart事件上进行明确用户交互的操作,并且将于2016年10月左右在M54中删除。有关详细信息,请参阅https://www.chromestatus.com/features/5649871251963904。
我访问了链接页面(及其中的链接),似乎这种新行为是为了避免某些不需要的操作,尤其是避免第三方iframes
或广告(我的应用没有)从打开弹出窗口。我尝试将事件更改为touchend
(作为其中一个链接" touchend事件将继续像以前一样行事"),但收到了类似的警告消息
我的问题:
touchstart
并避免我过去遇到的问题?我可以回到click
,但快速点击/点击仍然是个问题。答案 0 :(得分:4)
创建Cordova应用时,您定位不同的操作系统版本,Android 5及更高版本已根据Chromium自动更新网页视图,因此该问题可能会影响您的应用。
但是自从Chrome 32使用此视口<meta name="viewport" content="width=device-width">
后,点击延迟就会消失(请参阅this article),因此您可以安全地使用click
事件。关于android 5和6的最新网络视图基于Chromium 52。
您还可以使用fastclick库来修复&#34;点击延迟仅在必要时