sindresorhus/eslint-plugin-unicorn

Rule proposal: Require passive event listener

Closed

#985 opened on Jan 1, 2021

 (3 comments) (4 reactions) (0 assignees)JavaScript (468 forks)user submission
help wantednew rule

Repository metrics

Stars
 (5,022 stars)
PR merge metrics
 (Avg merge 1d 16h) (399 merged PRs in 30d)

Description

Require using passive event listener when not using event.preventDefault().

https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Improving_scrolling_performance_with_passive_listeners

This rule can be auto-fixed as long as event.preventDefault() is not called and the event parameter is not passed anywhere.

Fail

window.addEventListener('wheel', () => {/* … */});

Pass

window.addEventListener('wheel', () => {/* … */}, {passive: true});

foo.addEventListener('click', event => {
	event.preventDefault();
});

Contributor guide