vue如何實現(xiàn)點擊空白區(qū)域關(guān)閉彈窗
更新時間:2025年04月18日 10:17:55 作者:前端學習zzz
這篇文章主要介紹了vue如何實現(xiàn)點擊空白區(qū)域關(guān)閉彈窗問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
vue實現(xiàn)點擊空白區(qū)域關(guān)閉彈窗
效果展示
通過contains判斷點擊區(qū)域是否包含彈框
<template> <div ref="list"> <span @click="is_list_show=!is_list_show">點擊</span> <ul class="head-list-select" v-if="is_list_show"> <li>菜單1</li> <li>菜單2</li> <li>菜單3</li> <li>菜單4</li> <li>菜單5</li> </ul> </div> </template>
點擊頁面判斷
mounted(){ document.addEventListener("click", this.bodyCloseMenus) }, beforeDestroy() { // 在頁面注銷前,刪除點擊事件 document.removeEventListener("click", this.bodyCloseMenus); }, methods: { bodyCloseMenus(e){ let btnstatus = this.$refs['list']; if(btnstatus &&!btnstatus.contains(e.target)){ this.is_list_show = false; } } },
剛開始寫的時候只想到這種方法,后來百度了一下還有一種通過阻止冒泡@click.stop來實現(xiàn),嘗試了一下可以實現(xiàn),順便就記錄一下~
<template> <div ref="list" @click.stop> <span @click="is_list_show=!is_list_show">點擊</span> <ul class="head-list-select" v-if="is_list_show"> <li>菜單1</li> <li>菜單2</li> <li>菜單3</li> <li>菜單4</li> <li>菜單5</li> </ul> </div> </template>
mounted(){ document.addEventListener("click", this.bodyCloseMenus) }, beforeDestroy() { document.removeEventListener("click", this.bodyCloseMenus); }, methods: { bodyCloseMenus(e){ let self = this; if (self.is_list_show == true){ self.is_list_show = false; } } },
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Vue2?axios發(fā)請求報400錯誤"Error:?Request?failed?with?s
這篇文章主要給大家介紹了關(guān)于如何解決Vue2?axios發(fā)請求報400錯誤"Error:?Request?failed?with?status?code?400"的相關(guān)資料,在Vue應用程序中我們通常會使用axios作為網(wǎng)絡請求庫,需要的朋友可以參考下2023-07-07一步步教你搭建VUE+VScode+elementUI開發(fā)環(huán)境
這篇文章主要給大家介紹了關(guān)于搭建VUE+VScode+elementUI開發(fā)環(huán)境的相關(guān)資料,近期被配置環(huán)境的事情弄得整個人都要炸了,現(xiàn)在整理如下,希望有相同需求的朋友可以不用走彎路,需要的朋友可以參考下2023-07-07解決element-ui庫的el-row的gutter=10間距失效問題
這篇文章主要介紹了解決element-ui庫的el-row的gutter=10間距失效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08vue中transition動畫使用(移動端頁面切換左右滑動效果)
這篇文章主要介紹了vue中transition動畫使用(移動端頁面切換左右滑動效果),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07Vue項目localhost:8080無法訪問此網(wǎng)站,拒絕了我們的連接請求的解決方案
前端頁面使用的是vue,vue項目啟動成功,沒有任何報錯,服務控制臺已出現(xiàn)APP訪問地址,點擊訪問地址出現(xiàn)無法訪問此網(wǎng)站,拒絕了我們的連接請求,所以本文給大家介紹了Vue項目localhost:8080無法訪問此網(wǎng)站,拒絕了我們的連接請求的解決方案,需要的朋友可以參考下2024-12-12