Vue3中点击元素容器外部关闭弹窗或悬浮框

<div
class="float-card"
v-if="item.isShowDropDown">
<ShareUserBox />
</div>
const handleClickOutside = (event) => {
const floatCardDom = document.querySelector('.float-card')
if (
floatCardDom &&
!floatCardDom.contains(event.target)
&& event.target?.title !== '共享'
) {
if(tableData.value.length && tableData.value.some(item => item.isShowDropDown)) {
tableData.value = tableData.value.map(item => {
return {
...item,
isShowDropDown: false
}
})
}
}
}
onMounted(() => {
document.addEventListener('click', handleClickOutside)
})
onBeforeUnmount(() => {
document.removeEventListener('click', handleClickOutside)
})
posted @   Felix_Openmind  阅读(336)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}
点击右上角即可分享
微信分享提示