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

最新资讯
小米生态链企业石头科技科创板上市 雷军:生态很成功

小米生态链企业石头科

北京石头世纪科技股份有限公司科创板正式挂牌交易,股票
石头科技今日科创板上市:打新史上最赚钱的新股来了

石头科技今日科创板上

2月21日,科创板将再迎来一只明星个股,小米生态链下的石
雷军:祝贺石头科技在科创板成功上市!

雷军:祝贺石头科技在科

这是第一家在科创板上市的小米生态链企业。石头科技也
小米生态链企业石头科技科创板上市:开盘暴涨73%

小米生态链企业石头科

今日石头科技(688169)正式登陆科创板,开盘上涨逾73%。石
美国《消费者报告》:Model 3首次跻身首选车型

美国《消费者报告》:Mo

当地时间2月20日,美国消费测评类杂志《消费者报告》公
沃达丰与意大利电信允许竞争对手使用其部分基础设施

沃达丰与意大利电信允

为缓解欧盟对铁塔合并计划的担忧,沃达丰和意大利电信提
最新文章
Vue实现图片与文字混输效果

Vue实现图片与文字混

用多了 JQuery ,习惯了使用JQuery的API操作 DOM ,几乎忘
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)

Vue实现点击当前元素

这篇文章主要介绍了Vue实现点击当前元素以外的地方隐
Vue实现验证码功能

Vue实现验证码功能

这篇文章主要为大家详细介绍了Vue实现验证码功能,文中
JS实现的雪花飘落特效示例

JS实现的雪花飘落特效

这篇文章主要介绍了JS实现的雪花飘落特效,结合实例形
微信小程序实现图片压缩

微信小程序实现图片压

这篇文章主要为大家详细介绍了微信小程序实现图片压缩
JavaScript实现京东放大镜效果

JavaScript实现京东放

这篇文章主要为大家详细介绍了JavaScript实现京东放大
比特棋牌
    <samp id="cwms4"><ruby id="cwms4"></ruby></samp><wbr id="cwms4"><noscript id="cwms4"></noscript></wbr>
    <kbd id="cwms4"><noscript id="cwms4"></noscript></kbd><bdo id="cwms4"><ruby id="cwms4"></ruby></bdo>

    <ins id="cwms4"></ins>
    <code id="cwms4"></code>
    <kbd id="cwms4"></kbd>
    <ins id="cwms4"></ins>
    <table id="cwms4"></table>
  1. <samp id="cwms4"><ruby id="cwms4"></ruby></samp>

    1. <em id="cwms4"><track id="cwms4"></track></em>
    2. 江西快3| 99棋牌| 棋牌平台| 博远棋牌| 大家玩棋牌| 游艺棋牌| 大家玩棋牌| 博远棋牌| 老棋牌| 博雅棋牌|