let parent = document.getElementById("parent");
let img = document.getElementById("img");
parent.addEventListener("click", function() {
parent.style.display = "none";
});
img.addEventListener("click", function(e) {
e.stopPropagation();
})
#parent {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background-color: blue;
}
#img {
width: 100%;
height: 100%;
object-fit: contain;
}
<div id="parent">
<img src="https://dummyimage.com/600x400/000/fff" id="img">
</div>
基本上,我想要实现的是一个覆盖整个窗口的弹出窗口,并具有一个居中的图像,该图像延伸到最大高度或宽度(取决于图像尺寸)并保持纵横比。完整的图像应该仍然可见。当您单击剩余的可见父级蓝色背景时,父级和图像都应该消失。
父事件未触发。但是如果我删除 CSS 代码,事件就会触发。这里发生了什么?