【发布时间】:2015-01-13 20:49:42
【问题描述】:
如何获取鼠标点击坐标相对于父 div 的左上角而不是浏览器视口的左上角?
示例:如果在下面的代码中点击#mydiv,如何获取相对于#mydiv左上角的坐标?
mydiv.onclick = function(e) { alert(e.clientX + ' ' + e.clientY); }
#blah { position: absolute; top:50px; left:60px; width: 1000px; height: 1000px; background-color: #F0F }
#mydiv { position: absolute; top:100px; left:100px; width: 100px; height: 100px; background-color: #FF0 }
<div id="blah"><div id="mydiv">Blah</div></div>
已编辑(示例中有一个重大错误)。
【问题讨论】:
-
算出元素的偏移量,就很简单了。
-
@MarcB 是的,但是我们是否必须递归遍历所有父、祖父、祖父
div并添加它们的偏移量?这会是一个非常干净的解决方案吗? -
请提供你的小提琴???
-
@AshishMishra 我贴了一个 StackOverflow 代码 sn-p,它类似于 jsfiddle
标签: javascript html