【问题标题】:Chrome "Touch Events API" breaks scrollingChrome“触摸事件 API”中断滚动
【发布时间】:2017-10-06 04:06:20
【问题描述】:

我注意到在触摸屏 PC 上使用 Chrome 时,我的网络应用程序上的页面不滚动。为了测试解决问题,我转到chrome://flags 并禁用“触摸事件 API”。相反,为了让问题出现在我的开发机器上,我启用它(默认为自动)。

启用 Touch Events API 后,Chrome 的控制台输出:

[违规] 向阻止滚动的touchstart 事件添加了非被动事件侦听器。考虑将事件处理程序标记为“被动”以使页面更具响应性。

[违规] 向阻止滚动的touchmove 事件添加了非被动事件侦听器。考虑将事件处理程序标记为“被动”以使页面更具响应性。

此违规来自我的jquery.min.js 文件。版本是2.1.3。

问题:

  1. 我不需要任何触控功能 - 我可以禁用触控事件 API。 和/或这是最佳做法吗?
  2. 最新版本的 jQuery 会“修复”这个问题吗?我担心这么大的版本跳跃......
  3. 阅读违规建议后,我是否应该“考虑将事件处理程序标记为‘被动’以使页面更具响应性。” - 那是什么意思?有一些 JS 函数会影响窗口大小和滚动,我怎样才能让它们被动?

【问题讨论】:

    标签: jquery google-chrome events


    【解决方案1】:

    你有我们可以测试的 JSFiddle 或代码示例吗?我想知道您的代码中是否有问题。

    如果您有更多问题,您可能还想查看此问题中的解决方案。可能是一个简单的修复或更长的需要编写自己的 PassiveEvent 处理程序。

    Warning: Added non-passive event listener to a scroll-blocking 'touchstart' event

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-26
      • 2013-01-02
      • 1970-01-01
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-04
      相关资源
      最近更新 更多