我想问一下:
基本上该组应该在视觉上覆盖其他两个div,所以当我在组内部点击时,只有组div应该检测到mousedown。
注意:我无法更改HTML结构。
document.getElementById('group').addEventListener('click', function(event) {
event.stopPropagation();
alert('click on: ' + event.target.id);
});

#group {
position: absolute;
width: 250px;
height: 250px;
background-color: yellow;
z-index: 2;
opacity: 0.5;
}
#a {
position: absolute;
left: 80px;
width: 50px;
height: 50px;
margin: 10px;
background-color: blue;
z-index: 0;
}
#b {
position: absolute;
width: 50px;
height: 50px;
margin: 10px;
background-color: blue;
z-index: 0;
}

<div id="group">
<div id="a">A</div>
<div id="b">B</div>
</div>
&#13;
答案 0 :(得分:2)
为孩子使用不透明度0。
使用$_GET
代替event.currentTarget
。
使用此配置,子项实际上高于event.target
,但不可见,事件由groups
元素捕获,而不是子项。
groups
&#13;
document.getElementById('group').addEventListener('click', function(event) {
event.stopPropagation();
alert('click on: ' + event.currentTarget.id);
});
&#13;
#group {
position: relative;
width: 250px;
height: 250px;
background-color: yellow;
z-index: 2;
opacity: 0.5;
}
#a {
position: relative;
left: 80px;
width: 50px;
height: 50px;
margin: 10px;
background-color: blue;
z-index: 0;
opacity: 0
}
#b {
position: relative;
width: 50px;
height: 50px;
margin: 10px;
background-color: blue;
z-index: 0;
opacity: 0;
}
&#13;