vue点击空白弹窗关闭的方法是什么?
Admin 2021-05-24 群英技术资讯 907 次浏览
现在很多网站都会做弹窗,但是我们知道频繁的弹窗和关闭不了的弹窗都是不利于用户体验的。为了提高用户的弹窗体验,我们能够使用vue实现点击空白区域来关闭弹窗。那么这要如何实现呢?下面给大家分享两个方法。
首页在外层容器里面取一个名字为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实现点击空白关闭弹窗的介绍啦,上述代码具有一定的参考价值,需要的朋友可以参考学习,希望对大家学习有帮助。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
利用nodejs实现:逐行读写(从一个文件逐行复制到另外一个文件);逐行读取、处理和写入(读取一行,处理后,写入另一个文件)1.所需要的模块:fs,os,readline2.具体实现:a.功能的实现:readWriteFileByLine.jsvarfs=require('fs-extra');varos=require('os');varrl=requir
ajax文件上传用jquery ajaxFileUpload插件的话会非常方便,那么在什么情况下回用到ajax文件上传呢?比如我们在submit提交form表单之前可能要先上传图片,或者是没有上传按钮,选中直接上传文件,都要用到ajax文件上传功能,下面来学习一下ajax上传excel文件
这篇文章主要为大家详细介绍了Vue+ssh框架实现在线聊天,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本篇文章给大家分享20个稀奇古怪的 JavaScript表达式,你能回答出其输出结果吗?快来挑战回答一下吧!
这篇文章主要介绍了WebWorker 封装 JavaScript 沙箱,在前文 quickjs 封装 JavaScript 沙箱详情 已经基于 quickjs 实现了一个沙箱,今天这篇文章再基于 web worker 实现备用方案,需要的朋友可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008