Polyfill event : EventListener, EventTarget, Event, CustomEvent, MouseEvent, KeyboardEvent, FocusEvent, PointerEvent and add support for options (like 'once')
npm install events-polyfill
npm i events-polyfill --save
`
For fast use import 'events-polyfill' (will import index.js).
[INFO] New release v2 that allow you to import specific polyfills only:
- you can use webpack (or any bundler) to import only required polyfills from src/.
- or you can import index.js (or index.min.js) at the root to polyfill everything.
#### src/constructors/*.js
Polyfill for :
Event,
CustomEvent,
MouseEvent,
KeyboardEvent,
FocusEvent
PointerEvent
#### src/ListenerOptions.js
Polyfill for the options argument of :
`js
EventTarget.prototype.addEventListener(type, listener[, options]);
EventTarget.prototype.removeEventListener(type, listener[, options]);
`
options : last parameter which replace boolean useCapture
* once : trigger only once this event (default: false)
* passive : allow browser to continue animations (ex: while scrolling) by 'disabling' event.preventDefault() (default: false)
* capture : replace useCapture (default: false)
#### Example:
`js
document.addEventListener('click', function() {
console.log('clicked once');
}, { once: true });
`
#### src/ListenerEventTypes.js
Polyfill for the type argument of :
`js
EventTarget.prototype.addEventListener(type, listener[, options]);
EventTarget.prototype.removeEventListener(type, listener[, options]);
`
Polyfill vendor prefixed events like 'pointerlockchange' (try 'pointerlockchange', 'mozpointerlockchange' and 'webkitpointerlockchange') and some 'experimental' events like 'wheel' (try 'wheel', 'mousewheel', 'DOMMouseScroll')
* [INFO] If option can't be polyfilled : throw an error (allow you to check is event type is supported)
Currently polyfilled types :
`js
[
'wheel',
'pointerlockchange', 'pointerlockerror',
'fullscreenchange', 'fullscreenerror',
'animationend', 'animationiteration', 'animationstart', 'transitionend',
'pointercancel', 'pointerdown', 'pointerhover', 'pointermove', 'pointerout', 'pointerover', 'pointerup'
]
``