相关疑难解决方法(0)

什么是被动事件监听器?

在努力提高渐进式网络应用程序的性能的同时,我遇到了一个新功能Passive Event Listeners,我发现很难理解这个概念.

什么是Passive Event Listeners,什么是需要有它在我们的项目?

javascript google-chrome event-listener dom-events passive-event-listeners

151
推荐指数
1
解决办法
8万
查看次数

在 Chrome 和 OpenLayers 2 中防止“无法在被动事件侦听器中阻止默认”错误

我使用 OpenLayers2 (v2.12) 在用户浏览器中加载和生成地图。最近,Chrome 发布了一个更新,现在当我使用鼠标滚轮放大和缩小 OpenLayers 地图时,它也会导致整个页面上下滚动。

最初,在此 Chrome 更改之前,如果我在地图中使用鼠标滚轮,它会按预期放大和缩小,但不会滚动整个页面。如果我在 OpenLayers 地图之外使用鼠标滚轮(按预期),它只会开始滚动页面。

当我现在在地图中使用鼠标滚轮时,显示以下错误:

OpenLayers.min.js:2 [Intervention] Unable to preventDefault inside passive 
event listener due to target being treated as passive. See 
https://www.chromestatus.com/features/6662647093133312
Run Code Online (Sandbox Code Playgroud)

我认为这是导致页面滚动的错误。

查看与此错误类似的问题,我尝试附上

touch-action: none;
Run Code Online (Sandbox Code Playgroud)

OL 地图容器的 CSS 样式,但这似乎不起作用。

错误本身指向实际 OpenLayers.js 文件中的一些代码,而不是我的代码,因此我不完全确定如何修复此错误。

在 Openlayers.min.js 文件中导致错误的代码是:

OpenLayers.Event = {
    stop: function(e, t) {
        t || (e.preventDefault ? e.preventDefault() : e.returnValue = !1),
        e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0
    },
}
Run Code Online (Sandbox Code Playgroud)

尤其是 e.preventDefault() 函数。

我引用的未缩小的 OpenLayers 文件是: https

OL地图的HTML代码是:

<div class="container-fluid …
Run Code Online (Sandbox Code Playgroud)

javascript css scroll google-chrome openlayers

6
推荐指数
1
解决办法
9301
查看次数