获取鼠标单击的位置,单击的元素是参考点

智者先生

我想获得每次鼠标单击的坐标,并将元素的开始作为参考点(因此,单击第一个左上角像素将为0,0)。

我知道诸如pageX / Y和clientX / Y之类的功能,但是它们使用不同的参考点。

阿卜杜里拉·艾萨尼(Abdelillah Aissani)

您可以通过应用以下小技巧来做到这一点:获取pageX和pageY坐标,然后将元素偏移坐标(这是元素与pageX / pageY的距离)划分为子坐标,然后可以选择要用作元素的任何元素。这个例子的参考点 <div id="test"></div>

var testDiv = document.getElementById("test")
testDiv.addEventListener("click",function(e){
 var crd = {x :0,y:0};
 crd.x = e.pageX - testDiv.offsetLeft
 crd.y = e.pageY - testDiv.offsetTop
 console.log(crd)
})
* {
margin:0;
padding:0;
box-sizing : border-box;
}

#test{
margin: 60px;
width : 200px;
height : 200px;
border : 2px solid black;

}
<div id="test"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章