提问人:Warren 提问时间:5/8/2017 最后编辑:CommunityWarren 更新时间:1/3/2018 访问量:1871
Chrome“触摸事件 API”中断滚动
Chrome "Touch Events API" breaks scrolling
问:
我注意到,在触摸屏 PC 上使用 Chrome 时,我的 Web 应用程序上的页面无法滚动。为了测试解决问题,我转到并禁用“触摸事件 API”。相反,为了使问题出现在我的开发机器上,我启用了它(默认值为 auto)。chrome://flags
启用触摸事件 API 后,Chrome 的控制台会输出:
[违规]向滚动阻塞事件添加了非被动事件侦听器。请考虑将事件处理程序标记为“被动”,以使页面更具响应性。
touchstart
[违规]向滚动阻塞事件添加了非被动事件侦听器。请考虑将事件处理程序标记为“被动”,以使页面更具响应性。
touchmove
此违规行为来自我的文件。版本为 2.1.3。jquery.min.js
问题:
- 我不需要任何触摸功能 - 我可以禁用触摸事件 API 吗? 和/或这是最佳实践吗?
- 最新版本的jQuery会“解决”这个问题吗?我担心这么大的版本跳跃......
- 阅读违规建议,我是否应该“考虑将事件处理程序标记为'被动',以使页面更具响应性。有一些 JS 函数会影响窗口大小和滚动,我怎样才能使它们被动?
答:
0赞
ClosDesign
1/3/2018
#1
你有我们可以测试的 JSFiddle 或代码示例吗?我想知道您的代码中是否有问题。
如果您有更多问题,您可能还想查看此问题中的解决方案。可能是一个简单的修复,也可能是需要编写自己的 PassiveEvent 处理程序。
评论