Javascript检测在div外的点击事件
Javascript检测在div外的点击事件
这个问题已经有答案了:
如何检测点击事件是否发生在元素之外?社区曾经审查过这个问题,去年(2022年1月1日 16:10:53Z)决定将其关闭
原始关闭理由没有得到解决
我有一个id为"content-area"的div,当用户点击该div之外的位置时,我想提醒他们这一事实。我该如何使用JavaScript来解决这个问题?
Display Conents
admin 更改状态以发布 2023年5月24日
Node.contains() 方法返回一个布尔值,表示一个节点是否是给定节点的后代。
您可以使用以下方法捕获事件
document.addEventListener("click", clickOutside, false); function clickOutside(e) { const inside = document.getElementById('content-area').contains(e.target); }
请记得在正确的位置移除所监听的事件
document.removeEventListener("click", clickOutside, false)
使用纯 JavaScript
请查看这个 fiddle,看看它是否符合您的需求!
document.getElementById('outer-container').onclick = function(e) { if(e.target != document.getElementById('content-area')) { document.getElementById('content-area').innerHTML = 'You clicked outside.'; } else { document.getElementById('content-area').innerHTML = 'Display Contents'; } }