角度被动事件侦听器

时间:2019-12-02 14:13:10

标签: angular google-chrome passive-event-listeners

关于这个话题how to make an event listener passive in Angular的互联网空虚令人惊叹。

我有一个下拉菜单,滚动菜单时会在Chrome中引发错误: [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive...

我对Google抛出此错误和问题本身的动机很清楚,我知道解决方案。我需要在Angular代码中进行类似的工作:document.addEventListener('wheel', (e) => { e.preventDefault() }, { passive: false });但似乎解决方案比我想象的要难实现。 Angular没有将事件监听器设置为{passive: false}的方法,并且我上面粘贴的原始JS根本无法工作。

有人遇到类似的问题/解决方案吗? 也许有解决方法? 任何相关信息都可能很有价值,谢谢。

1 个答案:

答案 0 :(得分:-1)

根据https://angular.io/guide/user-input中的规定:

(window as any)['__zone_symbol__PASSIVE_EVENTS'] = ['scroll'];

可以添加到polyfills中,这将使滚动事件的事件侦听器变为被动

相关问题