检测目标元素之外的点击事件
常见的下拉菜单,在点击元素之外的地方会收起菜单,可以用到contains()
进行判断
<div>
<button>show</button>
<Dropdown>...</Dropdown>
</div>
const btn = document.querySelector('button')
document.addEventListener('click', (e) => {
const isClickOutSide = !btn.contains(e.target)
if(isClickOutSide) ...
else ....
})