birdpaper-ui
Version:
一个通用的 vue3 UI组件库。A common vue3 UI component library.
22 lines (21 loc) • 604 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const vClickOutside = {
mounted(el, binding) {
function eventHandler(e) {
if (el.contains(e.target)) {
return false;
}
if (binding.value && typeof binding.value === "function") {
binding.value(e);
}
}
el.__click_outside__ = eventHandler;
document.addEventListener("click", eventHandler);
},
beforeUnmount(el) {
document.removeEventListener("click", el.__click_outside__);
delete el.__click_outside__;
}
};
exports.vClickOutside = vClickOutside;