我需要获取相对于目标元素的鼠标单击事件的坐标。也就是说,我正在寻找offsetX
,offsetY
,但我知道在不同浏览器中实现这些属性非常不一致。
我发现的大多数解决方案都涉及迭代元素的父节点,添加偏移量等。
然而根据this website,这些坐标可以很容易地计算如下:
var rect = targetEl.getBoundingClientRect(),
offsetX = ev.clientX - rect.left,
offsetY = ev.clientY - rect.top;
在不同的浏览器中使用是否安全?我应该注意哪些恐怖故事?
注意:我不想为此使用JQuery或类似的东西。
答案 0 :(得分:0)
最新版本的浏览器(如Mozilla Firefox,Google Chrome,Opera,Safari等)不会出现太多问题。但旧版浏览器(尤其是Internet Explorer)可能存在问题。