javascript - 当图像元素阻止它时,事件侦听器不起作用
问题描述
有时我有一个图像元素等于鼠标指针的位置。我很难找到这个。这可能与传播有关?
例如,当图像元素是鼠标光标的位置时,这不会触发,因为它阻塞了另一个元素:
document.getElementById("playGrid").querySelectorAll('section div').forEach(function(el) {
el.addEventListener('click', function() {
console.log("event fired");
}
我在 div 中的图像元素非常简单:
<div id="playGrid" class="w">
<img id="stone" style="position:absolute;" src="graphics/redStone.png">
</div>
我的光标 onmousemove 事件设置如下:
document.getElementById("playGrid").onmousemove = function(event) {stoneCursor(event)};
function stoneCursor(e) {
const stone = document.getElementById("stone");
let xPosition;
let yPosition;
if(e){
xPosition = e.clientX - 100;
yPosition = e.clientY - 100;
stone.style.top = yPosition + 'px';
stone.style.left = xPosition + 'px';
}
}
如何让石头忽略点击事件,以便 playGrid 仍然可以获得点击?
解决方案
推荐阅读
- amazon-web-services - 是否可以为我的新 EC2 实例重用现有的经典负载均衡器?
- java - Apache POI Streamsheet getRow 不支持的操作异常
- java-8 - 在过滤器方法中使用 Java 流添加到列表
- java - selenium java项目中的log4j问题
- notepad++ - 在记事本++中更改日期格式
- css - 如何扩展 Material UI stepper 中的所有步骤以打印页面?
- c++ - 尝试(稍微)概括 C++ 模板。关联容器 Key:Value Inversion
- c# - 我已经安装了 .net core 2.1.3 x86 和 .net core 2.1.0 并尝试过,但我无法运行我的项目
- angular - 如何在 ng-content angular 6 中包含内容
- html - 如何使 div 填充视口的宽度而不是其父级?