vue中實(shí)現(xiàn)點(diǎn)擊空白區(qū)域關(guān)閉彈窗的兩種方法
1. 第一種做法
首頁在外層容器里面取一個名字為main,即ref="main",當(dāng)bankSwitch為true的時候,彈窗出現(xiàn)
<div class="selectedBorder" ref="main"> <div class="bankItem" v-if="bankSwitch == true"> 你好我是彈窗里面的內(nèi)容部分 </div> </div>
所觸發(fā)的事件如下:
首頁,先在全局創(chuàng)建一個點(diǎn)擊事件:bodyCloseMenus
事件作用:當(dāng)點(diǎn)擊main容器的時候(this.refs.main && !this.refs.main.contains(e.target)),并且彈窗出現(xiàn)的時候(self.bankSwitch == true),點(diǎn)擊空白區(qū)域?qū)棿瓣P(guān)閉(self.bankSwitch = false)
最后,在頁面注銷前,將點(diǎn)擊事件給移除
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); },
2.第二種做法
首頁在外層容器里面定義一個阻止冒泡事件,即@click.stop,當(dāng)bankSwitch為true的時候,彈窗出現(xiàn)
<div class="selectedBorder" @click.stop> <div class="bankItem" v-if="bankSwitch == true"> 你好我是彈窗里面的內(nèi)容部分 </div> </div>
所觸發(fā)的事件如下:
首頁,先在全局創(chuàng)建一個點(diǎn)擊事件:bodyCloseMenus
事件作用:當(dāng)彈窗出現(xiàn)的時候(self.bankSwitch == true),點(diǎn)擊空白區(qū)域?qū)棿瓣P(guān)閉(self.bankSwitch = false)
最后,在頁面注銷前,將點(diǎn)擊事件給移除
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中實(shí)現(xiàn)點(diǎn)擊空白區(qū)域關(guān)閉彈窗的兩種方法的詳細(xì)內(nèi)容,更多關(guān)于vue 點(diǎn)擊空白區(qū)域關(guān)閉彈窗的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用Vue+Django+Ant Design做一個留言評論模塊的示例代碼
這篇文章主要介紹了使用Vue+Django+Ant Design做一個留言評論模塊,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Vue.js實(shí)現(xiàn)多條件篩選、搜索、排序及分頁的表格功能
這篇文章主要為大家詳細(xì)介紹了Vue.js實(shí)現(xiàn)多條件篩選、搜索、排序及分頁的表格功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03antdv vue upload自定義上傳結(jié)合表單提交方式
這篇文章主要介紹了antdv vue upload自定義上傳結(jié)合表單提交方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10vue項(xiàng)目中實(shí)現(xiàn)緩存的最佳方案詳解
這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目中實(shí)現(xiàn)緩存的最佳方案,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07利用HBuilder打包前端開發(fā)webapp為apk的方法
下面小編就為大家?guī)硪黄肏Builder打包前端開發(fā)webapp為apk的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11vuex數(shù)據(jù)持久化的兩種實(shí)現(xiàn)方案
在vuex的時候刷新以后里面存儲的state就會被瀏覽器釋放掉,因?yàn)槲覀兊膕tate都是存儲在內(nèi)存中的,所以一刷新頁面就會把state中的數(shù)據(jù)重置,這就涉及到vue數(shù)據(jù)持久化的問題,這篇文章主要給大家介紹了關(guān)于vuex數(shù)據(jù)持久化的兩種實(shí)現(xiàn)方案,需要的朋友可以參考下2021-07-07