15 lines
466 B
JavaScript
15 lines
466 B
JavaScript
// taken from https://stackoverflow.com/questions/36170425/detect-click-outside-element
|
|
export default {
|
|
bind(el, binding, vnode) {
|
|
el.clickOutsideEvent = event => {
|
|
if (!(el === event.target || el.contains(event.target))) {
|
|
vnode.context[binding.expression](event);
|
|
}
|
|
};
|
|
document.body.addEventListener('click', el.clickOutsideEvent);
|
|
},
|
|
unbind(el) {
|
|
document.body.removeEventListener('click', el.clickOutsideEvent);
|
|
}
|
|
};
|