element-plus
Version:
A Component Library for Vue 3
43 lines (39 loc) • 1.31 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
const on = (element, event, handler, useCapture = false) => {
if (element && event && handler) {
element == null ? void 0 : element.addEventListener(event, handler, useCapture);
}
};
const off = (element, event, handler, useCapture = false) => {
if (element && event && handler) {
element == null ? void 0 : element.removeEventListener(event, handler, useCapture);
}
};
const once = (el, event, fn) => {
const listener = function(...args) {
if (fn) {
fn.apply(this, args);
}
off(el, event, listener);
};
on(el, event, listener);
};
const composeEventHandlers = (theirsHandler, oursHandler, { checkForDefaultPrevented = true } = {}) => {
const handleEvent = (event) => {
const shouldPrevent = theirsHandler == null ? void 0 : theirsHandler(event);
if (checkForDefaultPrevented === false || !shouldPrevent) {
return oursHandler == null ? void 0 : oursHandler(event);
}
};
return handleEvent;
};
const whenMouse = (handler) => {
return (e) => e.pointerType === "mouse" ? handler(e) : void 0;
};
exports.composeEventHandlers = composeEventHandlers;
exports.off = off;
exports.on = on;
exports.once = once;
exports.whenMouse = whenMouse;
//# sourceMappingURL=event.js.map
;