update:1.自定义事件

This commit is contained in:
zk
2023-11-27 14:17:57 +08:00
parent 6a2d442c79
commit 462dd54ce1
5 changed files with 143 additions and 35 deletions
+21
View File
@@ -0,0 +1,21 @@
// 点击元素范围外
export function clickOutside(app) {
app.directive('click-outside', {
mounted(el, binding) {
el.handler = function (e) {
// 点击范围在绑定的元素范围内,不执行指令操作
if (el.contains(e.target)) return;
if (typeof binding.value === 'function') {
// 绑定给指令的如果是一个函数,那么将回调并指定this
binding.value.apply(this, arguments);
}
};
// 监听全局的点击事件
document.addEventListener('click', el.handler);
},
// 解除事件绑定
beforeUnmount(el) {
document.removeEventListener('click', el.handler);
},
});
}
+5
View File
@@ -0,0 +1,5 @@
import { clickOutside } from './clickOutside.ts';
export default function directiveMethods(app) {
clickOutside(app);
}