directives: {
clickoutside: {
bind(el, binding, vnode) {
function documentHandler(e) {
// 如果是元素本体则返回
if (el.contains(e.target)) return false;
if (binding.expression) {
// 有绑定函数,则执行
binding.value(e);
}
}
el.__vueClickOutside__ = documentHandler;
document.addEventListener('click', documentHandler);
},
update() {},
unbind(el, binding) {
document.removeEventListener('click', el.__vueClickOutside__);
delete el.__vueClickOutside__;
},
},
}
使用
<div v-clickoutside="hideTree"></div>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。