多层div 拖动的时候,比如
<div id="div1">
<div id="div2">111111</div>
<div id="div3">222222</div>
</div>
当点击的是div2或div3的时候,取到的offsetX和offsetY的值是相对该元素。而我们最终需要相对div1的坐标
可以如下处理
mousedownEvent(event){
let rect = event.currentTarget.getBoundingClientRect();
let offsetX = event.clientX - rect.left;
let offsetY = event.clientY - rect.top;
}
这样得到的值,在mousemove中可以直接使用
mousemoveEvent(event) {
let left = event.clientX - offsetX;
let top = event.clientY - offsetY;
}