【发布时间】:2015-08-31 08:34:57
【问题描述】:
我正在尝试定位 HTML 元素。 我已经制作了一个具有相对位置的父 HTML div,它有 2 个孩子,一个具有绝对位置(第一个孩子),另一个具有默认位置(第二个孩子)。
<body>
<div id="parent">
<div id="child1"></div>
<div id="child2"></div>
</div>
</body>
元素的CSS是
#parent {
width: 400px;
height: 400px;
border: 1px solid black;
position: relative;
}
#child1 {
position: absolute;
width: 200px;
height: 200px;
top: 0;
border: 1px solid red;
}
#child2 {
width: 300px;
height: 300px;
border: 1px solid green;
/* position: relative; */
}
现在,我在 child2 上添加了一个事件监听器。但是事件被触发了 仅在“child1”之外的部分上具有“child2”类的元素。 但是当我将元素“child2”的位置更改为相对时,我得到 在整个“child2”元素上触发的事件。
这种行为的原因是什么?
var el = document.getElementById("child2");
el.addEventListener("click",
function () {
alert("Hello");
});
JSFiddle 的链接是:
【问题讨论】: