Created
September 2, 2016 02:39
-
-
Save jjcodes78/bc4140b19667cf344e3c12c8690d765d to your computer and use it in GitHub Desktop.
EventListener snippet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const EventListener = { | |
/** | |
* Listen to DOM events during the bubble phase. | |
* | |
* @param {DOMEventTarget} target DOM element to register listener on. | |
* @param {string} eventType Event type, e.g. 'click' or 'mouseover'. | |
* @param {function} callback Callback function. | |
* @return {object} Object with a `remove` method. | |
*/ | |
listen (target, eventType, callback) { | |
if (target.addEventListener) { | |
target.addEventListener(eventType, callback, false) | |
return { | |
remove () { | |
target.removeEventListener(eventType, callback, false) | |
} | |
} | |
} else if (target.attachEvent) { | |
target.attachEvent('on' + eventType, callback) | |
return { | |
remove () { | |
target.detachEvent('on' + eventType, callback) | |
} | |
} | |
} | |
} | |
} | |
export default EventListener |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment