Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Polyfill different events classes and methods to match last ES7 specifications

Tested on IE 10+

Install

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 :

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:

document.addEventListener('click', function() {
    console.log('clicked once');
}, { once: true });

src/ListenerEventTypes.js

Polyfill for the type argument of :

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 :

[
    'wheel',
    'pointerlockchange', 'pointerlockerror',
    'fullscreenchange', 'fullscreenerror',
    'animationend', 'animationiteration', 'animationstart', 'transitionend',
    'pointercancel', 'pointerdown', 'pointerhover', 'pointermove', 'pointerout', 'pointerover', 'pointerup'
]

About

Polyfill event : EventListener, EventTarget, CustomEvent, MouseEvent, KeyboardEvent

Resources

Releases

No releases published

Packages

No packages published