【发布时间】:2017-01-13 23:03:27
【问题描述】:
在我过去开发的移动应用程序中,我发现click 事件在所有设备上都没有按预期工作(例如:在用户必须在屏幕上快速点击/单击而不是触发的游戏中click 事件,触发了双击),使用 touchstart 可以得到更好的结果。
从那时起,我开始收听touchstart 事件而不是click;但在 Chrome 上测试,我在 JS 控制台中收到以下警告消息:
不推荐执行需要在 touchstart 事件上进行显式用户交互的操作,并将在 2016 年 10 月左右的 M54 中删除。有关更多详细信息,请参阅 https://www.chromestatus.com/features/5649871251963904。
我访问了链接页面(以及其中的链接),这种新行为似乎是为了避免某些不需要的操作,特别是为了避免第三方iframes 或广告(我的应用没有)打开弹出窗口。我尝试将事件更改为touchend(如其中一个链接所述“touchend 事件将继续像以前一样运行”),但收到了类似的警告消息。
还有我的问题:
- 这是否只会影响 Chrome,还是会影响我的 Android 和 iOS 网络应用(使用 Cordova/Phonegap)?
- 我应该使用什么事件来替换
touchstart并避免我过去遇到的问题?我可以回到click,但快速点击/轻敲仍然是个问题。
【问题讨论】:
标签: javascript html google-chrome cordova dom-events