避免锚标记阻止点击的传播

Avoid anchor tags stoping propagation of clicks

本文关键字:传播      更新时间:2023-09-26

我发现标签阻止事件在DOM中向下传播。举个例子:如果你点击红色按钮,应该记录一个文本,但如果你按下它们重叠的地方,你只会得到链接行为。¿有没有办法强制事件传播到底部?

var btn = document.querySelector(".btn");
btn.addEventListener("click", function() {
  console.log("btn clicked");
});
.btn {
  background: red;
  color: white;
  width: 200px;
  text-align: center;
  padding: 1em;
}
a {
  background: rgba(0, 200, 100, 0.3);
  display: block;
  width: 150px;
  height: 150px;
  position: absolute;
  top: 0;
  left: 100px;
  z-index: 99;
}
<div class="btn">Press me</div>
<a href="http://google.com" target="_blank"></a>

似乎该代码段阻止了链接触发,但在此处对其进行测试,您将看到它:http://codepen.io/vandervals/pen/wMNKOG

是的,把a放在你的.btn里。

<div class="btn">
    Press me
    <a href="http://google.com" target="_blank"></a>
 </div>