千家信息网

vue如何实现点击目标区域之外可关闭目标区域

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关vue如何实现点击目标区域之外可关闭目标区域,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。点击目标区域之外可关闭目标区域解决思路方法一1
千家信息网最后更新 2026年11月02日vue如何实现点击目标区域之外可关闭目标区域

这篇文章将为大家详细讲解有关vue如何实现点击目标区域之外可关闭目标区域,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

点击目标区域之外可关闭目标区域

解决思路

方法一

1、vue模块中的内容 -- class为myPanel的div是我们要处理的那个小组件。

2、定义点击事件 -- 直接在生命周期钩子函数mounted(dom挂载完成之后)中添加点击事件,通过判断目标元素的class名称可实现对应的效果

mounted(){    document.addEventListener('click', (e)=> {        if (e.target.className != 'myPanel') {            this.panelShow= false;        }    })}
方法二

1、vue模块中的内容 -- class为myPanel的div是我们要处理的那个小组件。其中,stop修饰符是用来阻止函数的传递,简单理解就是执行自身绑定的事件,不影响其他位置绑定的事件。此处clickPanel函数中可不做任何处理,单纯用来阻止点击事件传递到绑定在body上的click事件去。

2、通过watch监听panelShow的值,对应在body绑定点击事件/取消绑定的点击事件

watch: {  panelShow(val) {    if(val) {      document.body.addEventListener('click', () => {          this.panelShow = false;      })    } else {      document.body.removeEventListener('click', () => {});    }  }}

注:也可以通过给body绑定一个点击事件,然后去判断点击的元素是否是需要隐藏掉的元素。

vue点击组件外部隐藏组件自身

在开发组件的时候,点击组件外部隐藏组件自身的这种情况很长见到,例如:时间选择框组件,下拉选件等。

示图:点击外层元素隐藏自定义车牌选择框

代码如图中所写

核心

1、最外层div中添加一个@click.stop(取消事件冒泡),可以不添加事件名。

2、在mounted给body添加一个点击事件,事件触发组件的隐藏。

    document.body.addEventListener('click', () => {        this.show = false;    }, false);

关于"vue如何实现点击目标区域之外可关闭目标区域"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

事件 组件 目标 区域 元素 内容 函数 篇文章 外层 方法 更多 模块 处理 选择 不错 实用 可不 代码 位置 可以通过 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 什么是科技互联网 互联网金融和金融科技 互联网科技股有哪些 恒生科技互联网指数分析 银川新华互联网科技学校地址 科技赋能互联网健康 深圳国际航运科技和互联网 银川新华互联网科技职业技术培训学校图片 互联网科技产业特征 坤平互联网科技 互联网行业科技股 世界互联网领先科技成果获奖 烟台灵鸽互联网科技有限公司 互联网科技融合创新 互联网与数字科技关系 互联网科技创新创业项目 平安好医生打造互联网科技医疗 互联网科技创业有什么好项目 前海云享互联网科技 如何强化互联网金融科技 百单网互联网科技有限公司 蓝思科技飞鸽互联网 万易互联网科技有限公司 四川狮子座互联网科技 安控科技rtu产品工业互联网 互联网教育科技公司vipkid 移动互联网年度科技创新 亳州好赞互联网科技有限公司 上海京穆互联网科技有限公司 利用互联网等科技手段
0