vue v-show条件已经显示出来了怎样在显示v-show的div外任意位置点击v-show回复隐藏v-show?

嗯啦
  • 30

就是任意点击div外v-show回复隐藏

回复
阅读 3.3k
2 个回答

核心思想就是监听document的click/touchstart
contains这个方法去判断点击的元素是否在区域外

    mounted() {
        document.addEventListener('click', this.handleDocumentClick);
        document.addEventListener('touchstart', this.handleDocumentClick);
    },
    
    methods: {
            handleDocumentClick(e) {
                if (!this.$el.contains(e.target)) {
                    this.isShow = false;
                } 
        }
    }    
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏