Detect if the browser supports passive events
npm install detect-passive-eventsDetects if the browser supports passive event listeners. Tree-shakable and side-effect free. Also available as part of [detect-it][detectitrepo].
[Live detection test][livedetectiontest]
  !npm type definitions
> Note that the code used in the detection is adapted from this [Passive Events Explainer][passiveexplainer].
```
npm install --save detect-passive-events
`js
// supportsPassiveEvents is a boolean
import { supportsPassiveEvents } from 'detect-passive-events';
if (supportsPassiveEvents) {
// passive events are supported by the browser
document.addEventListener('scroll', handleScroll, { capture: false, passive: true });
} else {
// passive events are not supported by the browser
document.addEventListener('scroll', handleScroll, false);
}
`
Optionally, instead using npm install you can the load the script directly in the browser. A minified UMD version is available from Unpkg for this purpose.
`html`
`js``
// it will be available on the window as DetectPassiveEvents
if (window.DetectPassiveEvents.supportsPassiveEvents) {
document.addEventListener('scroll', handleScroll, { capture: false, passive: true });
} else {
document.addEventListener('scroll', handleScroll, false);
}
[livedetectiontest]: https://detect-it.rafgraph.dev
[passiveexplainer]: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
[detectitrepo]: https://github.com/rafgraph/detect-it