vue点击当前盒子以外任意地方隐藏当前盒子

方法一: contains方法 用于判断DOM元素的包含关系;

需要注意的是:它以HTMLElement为参数,且返回布尔值。

复制代码
 document.addEventListener('click', (el) => {
        console.log(this.$refs.content.contains(el.target));
      })
<template>
    <button @click.stop='showBox'>点击展示隐藏盒子</button>
    <div ref='box' v-show="flag">要隐藏的盒子</div>
</template>
<script>
    export default {
        data(){
           return{
              flag:false
           }
        },
        mounted() {
            document.addEventListener('click', this.hideBox);
        },
        methods:{
            hideBox(e){
                //判断是否点击的是盒子之外
               if (!this.$refs.box.contains(e.target)) {
                   this.flag = false
               }
            },
            showBox(){
                this.flag = !this.flag
            },
        }
    }
</script>

方法二: 可以给盒子加上阻止冒泡 .stop

相关推荐
前端学步18 分钟前
Vue 3 Composition API 实战技巧:组件间通信与SPA架构
前端·javascript·vue.js
盛夏绽放22 分钟前
Vue Router 编程式导航全攻略:深入掌握 push, replace, go, back, forward,beforeEach 方法
前端·vue.js·golang
azhou的代码园1 小时前
基于JAVA+SpringBoot+Vue的医院资源管理系统
java·开发语言·vue.js·spring boot·毕业设计·医院资源管理
小人物.09071 小时前
关于SSR和SSG
前端
pcplayer1 小时前
WEB 编程:使用富文本编辑器 Quill 配合 WebBroker 后端
前端·后端·delphi·web开发·webbroker
2401_857297912 小时前
招联金融内推(深圳武汉大量招后端、算法)---2025秋招内推
java·前端·算法·金融·求职招聘
爱喝热水的呀哈喽2 小时前
需求导向的正则表达式
开发语言·前端
奋斗的小鸟鸟2 小时前
在vue中:style 的几种使用方式
前端·javascript·vue.js
2401_857297913 小时前
招联金融秋招内推喇--18薪
java·前端·算法·金融·求职招聘
好多吃的啊3 小时前
css 控制虚线刻度尺寸
前端·css