Skip to content

Instantly share code, notes, and snippets.

@branneman
Created February 10, 2017 10:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save branneman/1d2bd35831c58fc5cfbd64cd837bb50e to your computer and use it in GitHub Desktop.
Save branneman/1d2bd35831c58fc5cfbd64cd837bb50e to your computer and use it in GitHub Desktop.
Prefix EventListener
/**
* Capitalize
*/
const capitalize = string => {
return string.charAt(0).toUpperCase() + string.slice(1);
};
/**
* Prefix EventListener
*/
const prefixEventListener = (element, event, cb, addListener = true) => {
const listener = addListener ? 'addEventListener' : 'removeEventListener';
return ['webkit', 'moz', 'MS', 'o', '']
.map(prefix => prefix ? prefix + capitalize(event) : event)
.forEach(event => element[listener](event, cb));
}
// example add event listener
prefixEventListener(element, 'transitionEnd', fn);
// example remove event listener
prefixEventListener(element, 'transitionEnd', fn, false);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment