gpt4 book ai didi

javascript - 弃用移动应用程序上的触摸操作

转载 作者:太空狗 更新时间:2023-10-29 15:07:36 24 4
gpt4 key购买 nike

在我过去开发的移动应用程序中,我发现 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>

还有我的问题:

  • 这是只影响 Chrome 的东西,还是会影响我的 Android 和 iOS 网络应用程序(使用 Cordova/Phonegap)?
  • 我应该使用什么事件来替换 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com