- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我过去开发的移动应用程序中,我发现 click
事件在所有设备上都没有按预期工作(例如:在游戏中,用户必须快速点击/点击屏幕,而不是触发 click
事件,触发了双击),并且使用 touchstart
给出了我想要的更好的结果。
从那以后,我开始监听touchstart
事件,而不是click
;但在 Chrome 上测试时,我在 JS 控制台中收到以下警告消息:
Performing operations that require explicit user interaction on touchstart events is deprecated and will be removed in M54, around October 2016. See https://www.chromestatus.com/features/5649871251963904 for more details.
我访问了链接页面(以及其中的链接),似乎这种新行为是为了避免某些不需要的操作,特别是为了避免第三方 iframe
或广告(我的应用程序没有)从打开弹出窗口。我尝试将事件更改为 touchend
(如其中一个链接所述“Touchend 事件将继续像以前一样运行”),但收到类似的警告消息。 p>
还有我的问题:
touchstart
并避免我过去遇到的问题?我可以返回到 click
,但快速点击/点击仍然是个问题。最佳答案
创建 Cordova 应用程序时,您针对不同的操作系统版本,Android 5 及更高版本具有基于 Chromium 的自动更新 webview,因此该问题可能会影响您的应用程序。
但是从 Chrome 32 开始,当使用这个视口(viewport)时 <meta name="viewport" content="width=device-width">
,点击延迟应该会消失(参见 this article ),因此您可以安全地使用 click
事件。 android 5 和 6 上的最新 webviews 基于 Chromium 52。
您还可以使用 fastclick仅在必要时“修复”点击延迟的库
关于javascript - 弃用移动应用程序上的触摸操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39349843/
我是一名优秀的程序员,十分优秀!