36 lines
1 KiB
JavaScript
36 lines
1 KiB
JavaScript
import Vue from 'vue';
|
|
const isServer = Vue.prototype.$isServer;
|
|
|
|
/* istanbul ignore next */
|
|
export const on = (function() {
|
|
if (!isServer && document.addEventListener) {
|
|
return function(element, event, handler) {
|
|
if (element && event && handler) {
|
|
element.addEventListener(event, handler, false);
|
|
}
|
|
};
|
|
} 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) {
|
|
return function(element, event, handler) {
|
|
if (element && event) {
|
|
element.removeEventListener(event, handler, false);
|
|
}
|
|
};
|
|
} else {
|
|
return function(element, event, handler) {
|
|
if (element && event) {
|
|
element.detachEvent('on' + event, handler);
|
|
}
|
|
};
|
|
}
|
|
})();
|