2019-08-27 09:42:40 +08:00
|
|
|
import Vue from 'vue';
|
|
|
|
const isServer = Vue.prototype.$isServer;
|
|
|
|
|
|
|
|
/* istanbul ignore next */
|
|
|
|
export const on = (function() {
|
|
|
|
if (!isServer && document.addEventListener) {
|
2019-12-16 12:08:29 +08:00
|
|
|
return function(element, event, handler, useCapture = false) {
|
2019-08-27 09:42:40 +08:00
|
|
|
if (element && event && handler) {
|
2019-12-16 12:08:29 +08:00
|
|
|
element.addEventListener(event, handler, useCapture);
|
2019-08-27 09:42:40 +08:00
|
|
|
}
|
|
|
|
};
|
|
|
|
} else {
|
|
|
|
return function(element, event, handler) {
|
|
|
|
if (element && event && handler) {
|
|
|
|
element.attachEvent('on' + event, handler);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
})();
|
|
|
|
|
|
|
|
/* istanbul ignore next */
|
|
|
|
export const off = (function() {
|
|
|
|
if (!isServer && document.removeEventListener) {
|
2019-12-16 12:08:29 +08:00
|
|
|
return function(element, event, handler, useCapture = false) {
|
2019-08-27 09:42:40 +08:00
|
|
|
if (element && event) {
|
2019-12-16 12:08:29 +08:00
|
|
|
element.removeEventListener(event, handler, useCapture);
|
2019-08-27 09:42:40 +08:00
|
|
|
}
|
|
|
|
};
|
|
|
|
} else {
|
|
|
|
return function(element, event, handler) {
|
|
|
|
if (element && event) {
|
|
|
|
element.detachEvent('on' + event, handler);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
})();
|