首页在外层容器里面取一个名字为main,即ref="main",当bankSwitch为true的时候,弹窗出现
<div class="selectedBorder" ref="main"> <div class="bankItem" v-if="bankSwitch == true"> 你好我是弹窗里面的内容部分 </div> </div>
所触发的事件如下:
首页,先在全局创建一个点击事件:bodyCloseMenus
事件作用:当点击main容器的时候(this.refs.main && !this.refs.main.contains(e.target)),并且弹窗出现的时候(self.bankSwitch == true),点击空白区域将弹窗关闭(self.bankSwitch = false)
最后,在页面注销前,将点击事件给移除
mounted() { document.addEventListener("click", this.bodyCloseMenus); }, methods:{ bodyCloseMenus(e) { let self = this; if (this.$refs.main && !this.$refs.main.contains(e.target)) { if (self.bankSwitch == true){ self.bankSwitch = false; } } }, beforeDestroy() { document.removeEventListener("click", this.bodyCloseMenus); },
首页在外层容器里面定义一个阻止冒泡事件,即@click.stop,当bankSwitch为true的时候,弹窗出现
<div class="selectedBorder" @click.stop> <div class="bankItem" v-if="bankSwitch == true"> 你好我是弹窗里面的内容部分 </div> </div>
所触发的事件如下:
首页,先在全局创建一个点击事件:bodyCloseMenus
事件作用:当弹窗出现的时候(self.bankSwitch == true),点击空白区域将弹窗关闭(self.bankSwitch = false)
最后,在页面注销前,将点击事件给移除
mounted() { document.addEventListener("click", this.bodyCloseMenus); }, methods:{ bodyCloseMenus(e) { let self = this; if (self.bankSwitch == true){ self.bankSwitch = false; } }, beforeDestroy() { document.removeEventListener("click", this.bodyCloseMenus); },
以上就是vue中实现点击空白区域关闭弹窗的两种方法的详细内容,更多关于vue 点击空白区域关闭弹窗的资料请关注站长技术其它相关文章!
经过一年的折腾和几个月的沉默,Windows 10X终于完成并准备发布到生产厂商(RTM)...
前言 .NET Core 是指 .NET Core 运行时和 .NET Core SDK,它包含开发应用程序所...
复制代码 代码如下: title雷锋|优酷-专辑 采集程序/title/head form name="form1...
基于控制台应用程序+opencv,实现点击鼠标左键,可以拖动图片以显示感兴趣区域 #...
一、背景 本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的u...
本文实例讲述了Java Web开发之图形验证码的生成与使用方法。分享给大家供大家参...
前言 我们在前面的arm系列课程,已经讲解了arm的架构、汇编指令、异常、常用外设...
写在前面的话 很多人有这样的需求,就是统计网站访问IP以及在线的人数。今天我们...
据外媒报道,Windows上的邮件(Mail)应用一开始是一个非常令人兴奋的项目,但它慢...
所谓的异步刷新,就是不刷新整个网页进行更新数据。 只有通过js才能实现Ajax,进...