zarm-mobile
Version:
UI for react.js
34 lines (32 loc) • 936 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = {
on: function on(el, type, callback) {
if (el.addEventListener) {
el.addEventListener(type, callback, { passive: false });
} else {
el.attachEvent('on ' + type, function () {
callback.call(el);
});
}
},
off: function off(el, type, callback) {
if (el.removeEventListener) {
el.removeEventListener(type, callback, { passive: false });
} else {
el.detachEvent('off ' + type, callback);
}
},
once: function once(el, type, callback) {
var typeArray = type.split(' ');
var recursiveFunction = function recursiveFunction(e) {
e.target.removeEventListener(e.type, recursiveFunction, { passive: false });
return callback(e);
};
for (var i = typeArray.length - 1; i >= 0; i -= 1) {
this.on(el, typeArray[i], recursiveFunction);
}
}
};