js阻止事件向上传递

<div class="but-alert" @click="lookDetail()">查看详情</div>
<div class="weather-forecast">详情页面</div>
 function bodyClick(e: any) {
    const but = document.querySelector('.but-alert')
    const dialog = document.querySelector('.weather-forecast')
    // 重点是contains,是否包含元素
    if (but && !but.contains(e.target) && dialog && !dialog.contains(e.target) ) {
        weatherDialog.value = false;
    }
}

// 页面点击他处,控制弹窗显示隐藏
document.addEventListener('click', (e) => {
    bodyClick(e)
});
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容