zoukankan      html  css  js  c++  java
  • Vue自定义指令——点击div区域之外触发(v-click-outside)

    js文件
    import Vue from 'vue'
    //自定义指令-点击div区域之外触发
    
    // 提交验证
    Vue.directive('clickOutside', {
        // 初始化指令
        bind(el, binding) {
            function clickHandler(e) {
                // 这里判断点击的元素是否是本身,是本身,则返回
                if (el.contains(e.target)) {
                    return false;
                }
                // 判断指令中是否绑定了函数
                if (binding.expression) {
                    // 如果绑定了函数 则调用那个函数,此处binding.value就是handleClose方法
                    binding.value(e);
                }
            }
            // 给当前元素绑定个私有变量,方便在unbind中可以解除事件监听
            el.__vueClickOutside__ = clickHandler;
            document.addEventListener('click', clickHandler);
        },
        update() { },
        unbind(el) {
            // 解除事件监听
            document.removeEventListener('click', el.__vueClickOutside__);
            delete el.__vueClickOutside__;
        },
    });
    
    main.js
    //自定义指令引入
    import './directive/directive'
    
    页面
     <div  v-click-outside="outsideClick">
    

    页面来源:https://blog.csdn.net/weixin_43837268/article/details/88722598

  • 相关阅读:
    ajax_注册
    mysql 二
    mysql基础
    django数据库批量创建
    私有属性
    mysql操作
    @property @classmethod @staticmethod
    python中的__new__方法
    员工信息表-装逼版
    三级菜单
  • 原文地址:https://www.cnblogs.com/xxr0218/p/14138364.html
Copyright © 2011-2022 走看看