iview中poptip內按鈕失效
有一個需求是彈框下載,我這里用到了poptip組件,樣式如下:
功能是點擊報表下載跳走到指定頁面。
看似簡單,但實現后發現點擊后,如果按住鼠標時間稍微長一點點擊事件是無法觸發的,然后一頓search。
發現有說mouseleave和click事件沖突導致的,然后查看poptip源代碼,發現里面確實定義了mouseleave事件,也沒暴露出來。
想來想去,算了自己去實現一個。
自己重新寫了一個彈框,要做到點擊頁面其他位置直接關閉彈框。用到了下面監聽方法
document.addEventListener('click', (e) => {
let sArea = document.querySelector('#彈框id')
let tArea = e.target
// 點擊區域不在目標區域內(是點擊了子元素),關閉彈框
if (!sArea.contains(tArea)) {
this.isShowPop = false // 關閉自己的彈框
}
})