directives: {
     clickOutside: {/* 指令生命周期 */
         bind(el, binding, vnode) {
             /* 把事件绑定在document上 看节点是否在当前元素内部 */
             let handler = (e) => {
                 /* 判断是否在div内部 */
                 if (el.contains(e.target)) {
                     if (!vnode.context.isVisible)
                         vnode.context.focus();
                 } else {
                     if (vnode.context.isVisible)
                         vnode.context.blur();
                 }
             }
             el.handler = handler;
             document.addEventListener('click', handler);
         },
         unbind(el) {
             el.removeEventListener('click', el.handler);
         }
     }
 }

相关文章:

  • 2022-12-23
  • 2021-10-14
  • 2022-02-09
  • 2022-12-23
  • 2022-12-23
  • 2022-01-18
  • 2021-10-14
猜你喜欢
  • 2021-08-05
  • 2022-12-23
  • 2021-10-02
  • 2021-05-04
  • 2022-12-23
  • 2021-12-04
  • 2022-12-23
相关资源
相似解决方案