【发布时间】:2014-04-08 02:42:33
【问题描述】:
我需要获取鼠标点击事件相对于目标元素的坐标。也就是说,我正在寻找offsetX,offsetY,但我知道这些属性在不同浏览器中的实现非常不一致。
我发现的大多数解决方案都涉及迭代元素的父元素、添加偏移量等。
不过根据this website,这些坐标很容易计算如下:
var rect = targetEl.getBoundingClientRect(),
offsetX = ev.clientX - rect.left,
offsetY = ev.clientY - rect.top;
在不同的浏览器中使用它是否安全?有什么我应该知道的恐怖故事吗?
注意:我不想为此使用 JQuery 或类似的东西。
【问题讨论】:
标签: javascript dom cross-browser dom-events