| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 6× 42× 42× 42× 2× 40× 6× 6× 12× 6× | let onClickDocument = (e) => {
let {target} = e
callbacks.forEach((item) => {
if (target === item.el || item.el.contains(target)) {
return
} else {
item.callback()
}
})
}
document.addEventListener('click', onClickDocument)
let callbacks = []
export default {
bind: function (el, binding, vnode) {
callbacks.push({el, callback: binding.value})
}
}
let removeListener = () => {
document.removeEventListener('click', onClickDocument)
}
export {removeListener} |