使用被动事件监听器提升滚动性能
bookmark_borderbookmark
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
在 Chrome 51 中,新增了一种新兴的 Web 标准:被动事件监听器。这种监听器有望显著提升滚动性能,尤其是在移动设备上。请观看以下视频,并对比演示改进效果:
运作方式
如果您滚动网页时出现延迟,导致网页感觉没有固定在您的手指上,这种情况称为滚动卡顿。很多时候,滚动卡顿的罪魁祸首是触摸事件监听器。触摸事件监听器通常非常有用,可用于跟踪用户互动和创建自定义滚动体验,例如在与嵌入的 Google 地图互动时完全取消滚动。目前,浏览器无法知道触摸事件监听器是否会取消滚动,因此它们总是等待监听器完成后再滚动页面。借助被动事件监听器,您可以在 addEventListener
的 options
参数中设置一个标志,指明监听器绝不会取消滚动,从而解决此问题。借助这些信息,浏览器可以立即滚动网页,而不是在监听器完成后滚动。
了解详情
如需简要了解被动事件监听器的运作方式,请参阅 Chromium 博客:
新增了一些 API,可帮助开发者提升滚动性能
以及规范的代码库,了解如何实现被动事件监听器:
被动事件监听器说明
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2016-06-05。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2016-06-05。"],[],[]]