Javascript来检测窗口中的单击区域并关闭元素
大家好,我正在尝试提出一种javascript代码,这种代码被广泛应用于检测点击区域,以关闭元素,如sidenav或浮动div。每当用户点击元素外部时,点击外部可以工作并关闭元素,但每当我点击元素内部时,它仍然会显示出来,下面是我的代码:Javascript来检测窗口中的单击区域并关闭元素,javascript,html,Javascript,Html,大家好,我正在尝试提出一种javascript代码,这种代码被广泛应用于检测点击区域,以关闭元素,如sidenav或浮动div。每当用户点击元素外部时,点击外部可以工作并关闭元素,但每当我点击元素内部时,它仍然会显示出来,下面是我的代码: <script> var y = document.getElementById("advert"); window.onclick = function(event){ if (event.target == y)
<script>
var y = document.getElementById("advert");
window.onclick = function(event){
if (event.target == y){
y.style.display = "none";
} else {
y.style.display = "block";
}
}
</script>
var y=document.getElementById(“广告”);
window.onclick=函数(事件){
如果(event.target==y){
y、 style.display=“无”;
}否则{
y、 style.display=“block”;
}
}
我对您的代码做了一些小改动,请尝试一下:
var y = document.getElementById("advert");
window.onclick = function(event){
if (event.target == y || event.target.parentNode == y){
y.style.display = "none";
} else {
y.style.display = "block";
}
}
我们需要更多关于你的css和htmlScript的信息,但这并不能告诉我们太多。请阅读,并相应地更新您的问题。如果看不到HTML结构,就无法判断这是否是由于未正确处理(或中断)事件冒泡造成的,或者其他。广告是一个元素,是一个div,在页面加载时浮动在页面中心。第二个答案不是jquery请提供一个可复制的示例。我尝试将您的代码添加到我的代码中,看看它是否有效。顺便说一句,谢谢