javascript - 单击透明图像上的 div

标签 javascript html css

<分区>

JSFiddle here

我有一个图片库,每张图片的右上角都有一个 div。我想在单击该 div 时触发一个事件。但是,当图像是透明的 (opacity = 0.1) 时,似乎单击 div 不会触发事件,即使在图像不透明时它也能正常工作。是什么原因造成的,我如何确保事件处理程序仍然被触发?

最佳答案

尝试将 z-index 添加到 .hover

.hover {
   z-index:9;
}

document.getElementById('hover1').onclick = testClick;
document.getElementById('hover2').onclick = testClick;
document.getElementById('hover3').onclick = testClick;

function testClick(event) {
	// this works for hover2 and hover3 but not hover3
  document.getElementById('log').innerText = event.currentTarget.id;
}
.imgHover {
  position: relative;
  display: inline-block;
}

.hover {
  position: absolute;
  right: 0;
  top: 0;
  background-color: white;
  z-index:9;
}

.transparent {
  opacity: 0.1;
}
<div class="imgHover">
  <div id="hover1" class="hover">Hide</div>
  <img id="img1" src="http://ddragon.leagueoflegends.com/cdn/5.24.2/img/champion/Aatrox.png" alt="" class="transparent" />
</div>
<div class="imgHover">
  <div id="hover2" class="hover">Hide</div>
  <img id="img2" src="http://ddragon.leagueoflegends.com/cdn/5.24.2/img/champion/Ahri.png" alt="" />
</div>
<div class="imgHover">
  <div id="hover3" class="hover">Hide</div>
  <img id="img3" src="http://ddragon.leagueoflegends.com/cdn/5.24.2/img/champion/Akali.png" alt="" />
</div>
<div id="log">output:</div>

关于javascript - 单击透明图像上的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34628068/

相关文章:

javascript - 如何使用单选按钮计算 Highcharts 的输出

javascript - 如何使我的单一 HTML 网页在 Chrome 中离线可用?

php - 如何将非子 div 附加到另一个 div 的底部

javascript - 如何作为客户端连接 Node.js 和 Android?

javascript - 下拉菜单可记住选择并重定向用户

javascript - 在数据库中存储格式化内容的标准方法是什么?

javascript - 使用 Electron 在 Web View 中实现缩放功能

JavaScript 事件传播不适用于 Firefox 上的 HTML 按钮子元素。

css - 同一 div 中 2 个重叠元素的光标问题

css - Sass % 运算符