一. closest方法介紹
1)定義
closest先檢查當前元素是否匹配,如果匹配則直接返回元素本身;如果不匹配就會逐級向上查找父元素,直到找到匹配選擇器的元素。如果什么都沒找到則返回一個空的jQuery對象。
2)closest與parent方法對比
- closest從當前元素開始向上匹配尋找,parent從父元素開始向下匹配尋找;
- closest逐級向上查找,直到發(fā)現(xiàn)匹配的元素后就停止了,parent一直查找到根元素,然后把匹配的元素放進一個集合中;
- closest返回0或1個元素,parent可能包含0個或多個元素。
二. 實踐:點擊蒙版后隱藏當前div
若點擊時的對象在div上,返回的對象length為1;若點在div之外的區(qū)域,closest找不到匹配的元素返回對象length為0。因此可以實現(xiàn)當沒有點擊div時(返回對象length為0),隱藏div。
$('body').on('click', (ev)=>{
let dom1 = $(ev.target).closest('.box').length//0為沒有匹配找到,1為找到
if (dom1 < 1) {//點擊div之外時,將其隱藏
this.show = false //定義v-show="show"控制div顯示和隱藏
}
})

點擊蒙版隱藏div