【发布时间】:2016-07-31 11:19:16
【问题描述】:
我有一个可点击的按钮。我想动态地在它上面放置一个也可以点击的叠加层。当叠加层位于顶部并单击时,我希望触发叠加层 onclick,并触发按钮 onclick。
现在,如果我使用 onclick 处理程序将叠加层放在顶部,则单击不会到达下方的按钮。 如果我在叠加层上使用 pointerEvents="none" 则点击通过但不会触发叠加层 onclick。
当叠加层位于顶部时,如何让两个 onclick 都触发?
<html><body>
<input type=button value=clickme style="position:absolute;top:50px;left:25px;z-index:-1" onclick="alert('button')" >
</body></html>
<script>
function createDiv(){
alert("creating div");
divTag = document.createElement("div");
divTag.id="overlay";
document.body.appendChild(divTag);
divTag.setAttribute("onclick","alert('overlay')");
divTag.style.backgroundColor="rgba(255, 255, 0, 0.5)";
divTag.style.top="0px";
divTag.style.left="0px";
divTag.style.width="100px";
divTag.style.height="100px";
divTag.style.zIndex=100;
//divTag.style.pointerEvents="none";
//divTag.style.pointerEvents="auto";
}
setTimeout(createDiv,2000);
</script>
【问题讨论】: