dom-tools
Version:
A tiny collection of DOM helpers for IE8+.
34 lines (31 loc) • 1.16 kB
JavaScript
var canUseDOM = require('./canUseDOM');
var addEventListener = function(){};
if (canUseDOM) {
addEventListener = (function() {
if (document.addEventListener) {
/**
* Listen to DOM events during the bubble or capture phase.
*
* @param {Element} target DOM element to register listener on.
* @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
* @param {function} callback Callback function.
* @param {boolean} capture Capture phase. defaults to `false`
*/
return function(target, eventType, callback, capture) {
target.addEventListener(eventType, callback, !!capture);
}
} else if (document.attachEvent) {
/**
* Listen to DOM events during the bubble phase.
*
* @param {Element} target DOM element to register listener on.
* @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
* @param {function} callback Callback function.
*/
return function(target, eventType, callback) {
target.attachEvent('on' + eventType, callback);
}
}
})();
}
module.exports = addEventListener;