ClickOutSide.js 469 B

1234567891011121314151617181920
  1. const ClickOutSide = {
  2. beforeMount(el, binding) {
  3. function documentHandler(e) {
  4. if (el.contains(e.target)) {
  5. return false
  6. }
  7. binding.value(e)
  8. }
  9. el.__vueClickOutside__ = documentHandler
  10. document.addEventListener('click', documentHandler)
  11. },
  12. updated(el, binding) {
  13. },
  14. unmounted(el) {
  15. document.removeEventListener('click', el.__vueClickOutside__)
  16. delete el.__vueClickOutside__
  17. },
  18. }
  19. export default ClickOutSide