js點擊彈框之外的地方消失彈框


 

 

實現方法: 

1.操作節點: 不建議,這個方法是操作節點

代碼:

document.addEventListener('mouseup',(e) =>{
            let menueBtn = document.getElementsByClassName('item-nav')    //獲取 點擊 信息中心和在線預約的 btn節點
            if(this.$route.path == '/'){
                let _con = this.$refs.oprate1   //獲取信息中心 彈框div  的節點
                if(_con) {     // 信息中心的點擊子菜單和父菜單之外的div 隱藏子菜單
                    if(!_con.contains(e.target) && !menueBtn[0].contains(e.target)) {     //判斷是否點擊的信息中心菜單btn 和彈框之外的 content 
                        this.infoBtn = false      //  為false 時關閉彈框
                    }
                }
            }
            if(this.$route.path == '/makeTime'){
                // 在線預約的點擊子菜單和父菜單之外的div 隱藏子菜單
                let _con2 = this.$refs.oprate2   //獲取在線預約 彈框div  的節點
                if(_con2) {   
                    if(!_con2.contains(e.target) && !menueBtn[1].contains(e.target)) {    //判斷是否點擊的在線預約菜單btn 和彈框之外的 content 
                        this.onlineBtn = false   //  為false 時關閉彈框
                    }
                }
            }
        })

 

code

方法2 :用阻止事件冒泡來實現(簡單易操作,推薦)

操作方法:

1.在底部按鈕綁定事件上面阻止事件冒泡;

2.在app.vue 里面最大div 上面綁定事件,控制彈框不顯示(控制彈框的變量狀態為false)

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM