活着
新人入坑,不定时分享一些工作中遇到的一些问题,或者觉得好的点

活着ccc

新人入坑,不定时分享一些工作中遇到的一些问题,或者觉得好的点

自定义指令-捕获事件

//utils/enentcapuuring.vue
export default {
  bind(el, binding, vnode) {
    function documentHandler(e) {
      if (el === e.target || el.contains(e.target)) {
        return false
      }
      if (binding.expression) {
        binding.value(e)
      }
    }
    el._vueClickOutside_ = documentHandler
    document.addEventListener('click', documentHandler, true)
    el.documentHandler = documentHandler
  },
  update() {},
  unbind(el, binding) {
    document.removeEventListener('click', el.documentHandler, true)
    delete el._vueClickOutside_
  }
}
// main.js
import outside from '@/utils/eventcapturing'
Vue.directive('outside', outside)

  

posted on 2020-06-11 19:31  活着ccc  阅读(273)  评论(0编辑  收藏  举报

导航