如何在javascript中调用位于其他对象后面的dom对象的鼠标事件?
我想调用一个mousemove js事件到另一个后面的dom对象,如何调用忽略前面对象的事件 我想调用一个rect draw,我用js和div制作它们,首先我有根div,它是我的高度和宽度参考,然后想使用鼠标事件来调整和重新定位一个“rect”div,问题是当我调用mousemove事件到我的“root”来获取鼠标位置数据,我的rect在前面,然后计算就疯了,我的意思是,“root”。当我的鼠标到达“rect”对象时,mousemove事件被取消,因此我想将我的rect设置为“透明”,然后只使用我的“root”事件处理程序,希望您能理解和帮助如何在javascript中调用位于其他对象后面的dom对象的鼠标事件?,javascript,jquery,html,dom,dom-events,Javascript,Jquery,Html,Dom,Dom Events,我想调用一个mousemove js事件到另一个后面的dom对象,如何调用忽略前面对象的事件 我想调用一个rect draw,我用js和div制作它们,首先我有根div,它是我的高度和宽度参考,然后想使用鼠标事件来调整和重新定位一个“rect”div,问题是当我调用mousemove事件到我的“root”来获取鼠标位置数据,我的rect在前面,然后计算就疯了,我的意思是,“root”。当我的鼠标到达“rect”对象时,mousemove事件被取消,因此我想将我的rect设置为“透明”,然后只使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="root">
<div id="rect">
</div>
</div>
<script>
var root = document.getElementById('root');
var rect =document.getElementById('rect');
root.addEventListener('mousemove',function(e){
rect.style.width = e.offsetX;
rect.style.height = e.offsetY;
});
</script>
</body>
</html>
文件
var root=document.getElementById('root');
var rect=document.getElementById('rect');
root.addEventListener('mousemove',函数(e){
rect.style.width=e.offsetX;
rect.style.height=e.offsetY;
});
我想让“rect”对js鼠标事件是“透明的”。我解决了我的问题,简单的方法是设置指针事件:无;在“rect.css”属性中, 或创建一个新的css选择器:
.rect.scaling{
pointer-events: none;
}
下面是JS fiddle示例()。这很好用。移动鼠标时,内部矩形的高度和宽度将发生变化。让我知道这是否是你要找的
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<div id="root" style="border:1px solid red; height: 100px; width: 100%;">
<div id="rect" style="border:1px solid gray; min-height: 20px; min-width:10px; margin: 5px;">
</div>
</div>
<script>
var root = document.getElementById('root');
var rect =document.getElementById('rect');
root.addEventListener('mousemove',function(e){
rect.style.width = e.offsetX + "px";
rect.style.height = e.offsetY + "px";
});
</script>
</body>
</html>
var root=document.getElementById('root');
var rect=document.getElementById('rect');
root.addEventListener('mousemove',函数(e){
rect.style.width=e.offsetX+“px”;
rect.style.height=e.offsetY+“px”;
});
我将采取的总结方法:我认为您只希望在文档级别处理鼠标移动,然后收集数组中的元素位置,然后检查该事件中的鼠标坐标冲突,在该冲突逻辑中,如果有超过1个,则查找最底部的项,根据需要对该项目进行操作。我认为您的事件处理程序应该使用事件冒泡概念。如果这对您有效,请标记为答案以关闭线程。