Skip to content

zone.js cause "Unable to preventDefault inside passive event listener invocation." "errors", if passive handler is added first  #45020

@VolodymyrBaydalka

Description

@VolodymyrBaydalka

Which @angular/* package(s) are the source of the bug?

Don't known / other

Is this a regression?

No

Description

There is issue with zone.js addEventListener patch. If you add listener with { passive: true } options first, same handler will be used for non-passive event listeners. As result calling event.preventDefault() causing error. Code example:

import 'zone.js';

document.addEventListener('mousemove', (ev) => {}, { passive: true });
document.addEventListener('mousemove', (ev) => {
  ev.preventDefault(); // throws error
});

Please provide a link to a minimal reproduction of the bug

Demo - https://js-dtyss2.stackblitz.io/
Code - https://stackblitz.com/edit/js-dtyss2

Please provide the exception or error you saw

No response

Please provide the environment you discovered this bug in (run ng version)

OS: win32 x64
Browser: Chrome 98

@zone.js        0.11.4

Anything else?

No response

Metadata

Metadata

Assignees

Labels

P3An issue that is relevant to core functions, but does not impede progress. Important, but not urgentarea: zonesIssues related to zone.js

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions