这篇文章主要介绍了Vue实现点击当前元素以外的地方隐藏当前元素,文中给大家扩展了vue实现点击其他地方隐藏div的三种方法,需要的朋友可以参考下

1. 绑定元素

2. mounted生命周期

3. 实现思路

    页面挂载完后,监听全局点击事件 获取当前点击的元素,根据需求获取当前元素本身的属性 判断当前点击元素与要隐藏的元素是否相同 当前点击元素与要隐藏的元素不相同则隐藏

4. 最终效果

接着看下vue实现点击目标元素外页面的其他地方隐藏弹窗

方法:

步骤1:给页面最外出的元素div加点击事件:@click=“popShow = false”

步骤2:给点击目标元素加点击事件:@click=“popShow = true”

备注:popShow 为控制弹窗显示与隐藏的标志。

PS:下面看下vue实现点击其他地方隐藏div

方法一:  

通过监听事件

document.addEventListener('click',function(e){
    if(e.target.className!='usermessage'){
     that.userClick=false;
    }
})

方法二(比较好):

给最外层的div加个点击事件 @click="userClick=false"

给点击的元素上面加上:@click.stop="userClick=!userClick"

方法三:

<template>
<!--向页面添加关闭div的事件监听-->
<div @click="hide">

<!--添加.stop防止page的点击事件触发,导致无法显示div-->
<button @click.stop="show">点击显示div</button>

<!--指定的div。添加.stop防止点击div内的元素时,整个div被关闭-->
<div @click.stop>
...
</div>

</div>
<template>

<script>
export default {
methods:{
show(){},
hide(){}
}

}
</script>

小结:

通过vue.js 事件的.stop修饰符可以阻止事件继续冒泡传播,也可以使用原生js事件的event.stopPropagation()方法。

通过向指定的div添加.stop,可以实现只有点击非该div内的元素时,才会往上冒泡至page,从而实现点击其他地方隐藏div。

要向触发显示div的按钮添加.stop,否则一点击按钮,触发show()之后传播到page,立马就会触发hide(),div就无法显示。

总结

以上所述是小编给大家介绍的Vue实现点击当前元素以外的地方隐藏当前元素,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对爱安网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

最新资讯
永辉超市任命李松峰为新任CTO 负责科技战略、数字化转型落地

永辉超市任命李松峰为

永辉超市发布公告称,任命李松峰先生为公司首席技术官(CT
中国移动:去年12月5G套餐客户达1.65亿 相比2019年末净增1.62亿户

中国移动:去年12月5G

今日,中国移动今日公布2020年12月份运营数据,当月,中国移
张小龙视为“下一个十年”的视频号,能打败抖音快手吗

张小龙视为“下一个十

张小龙没有透露更多信息,唯一可以确定的是,对于视频号,他
通用拥抱微软 汽车领域已成科技巨头的“竞技场”

通用拥抱微软 汽车领

从中国到美国,科技公司和汽车公司正在加速合作发展自动
受“藕断丝连”启发,科学家制出新型仿生手术缝线

受“藕断丝连”启发,科

研究团队基于“藕断丝连”这一自然现象,深入探究了莲丝
中国移动公布2020年运营数据 5G套餐客户达1.65亿

中国移动公布2020年运

1月20日下午消息,中国移动今天公布 2020 年运营数据,5G
最新文章
详解Vue的ref特性的使用

详解Vue的ref特性的使

这篇文章主要介绍了详解Vue的ref特性的使用,文中通过
vue学习笔记之slot插槽基本用法实例分析

vue学习笔记之slot插

这篇文章主要介绍了vue学习笔记之slot插槽基本用法,结
vue跳转方式(打开新页面)及传参操作示例

vue跳转方式(打开新页

这篇文章主要介绍了vue跳转方式(打开新页面)及传参操作,
vue学习笔记之过滤器的基本使用方法实例分析

vue学习笔记之过滤器

这篇文章主要介绍了vue学习笔记之过滤器的基本使用方
js获取本日、本周、本月的时间代码

js获取本日、本周、本

本篇文章给大家分享的内容是利用js如何获取本日、本周
node crawler如何添加promise支持

node crawler如何添加

这篇文章主要介绍了node crawler如何添加promise支持,