我需要获得鼠标点击事件相对于目标元素的坐标。也就是说,我正在寻找offsetX、offsetY,但我知道这些属性在不同浏览器中的实现非常不一致。
我发现的大多数解决方案都涉及到遍历元素的父元素、添加偏移量等。
然而,根据this website,这些坐标可以很容易地计算如下:
var rect = targetEl.getBoundingClientRect(),
offsetX = ev.clientX - rect.left,
offsetY = ev.clientY - rect.top;跨不同的浏览器使用安全吗?有什么我应该知道的恐怖故事吗?
注意:我不想对此使用JQuery或类似的工具。
发布于 2014-03-06 04:25:43
在Mozilla Firefox,Google Chrome,Opera,Safari等最新版本的浏览器中不会有太多问题,但在旧版本的浏览器(特别是Internet Explorer)中可能会有问题。
https://stackoverflow.com/questions/22207950
复制相似问题