moq-ui
Version:
Simple, customizable UI components built with React
34 lines (30 loc) • 794 B
JavaScript
module.exports = {
once: function(el, type, callback) {
var typeArray = type.split(' ');
var recursiveFunction = function(e){
e.target.removeEventListener(e.type, recursiveFunction);
return callback(e);
};
for (var i = typeArray.length - 1; i >= 0; i--) {
this.on(el, typeArray[i], recursiveFunction);
}
},
// IE8+ Support
on: function(el, type, callback) {
if(el.addEventListener) {
el.addEventListener(type, callback);
} else {
el.attachEvent('on' + type, function() {
callback.call(el);
});
}
},
// IE8+ Support
off: function(el, type, callback) {
if(el.removeEventListener) {
el.removeEventListener(type, callback);
} else {
el.detachEvent('on' + type, callback);
}
}
};