我将鼠标移动到一个 div 上,我想知道鼠标相对于 div 原点的坐标。(左上角)
我希望 mousemove 事件包含鼠标的相对(客户端?)坐标,但显然它没有。
例如,在 Firefox 中,所有事件属性*都不包含相对坐标
我错过了什么吗?
*clientX,Y - pageX,Y - screenX, y
我将鼠标移动到一个 div 上,我想知道鼠标相对于 div 原点的坐标。(左上角)
我希望 mousemove 事件包含鼠标的相对(客户端?)坐标,但显然它没有。
例如,在 Firefox 中,所有事件属性*都不包含相对坐标
我错过了什么吗?
*clientX,Y - pageX,Y - screenX, y
你没有遗漏任何东西,但你需要自己计算相对坐标。
沿着这些思路应该做的事情(用你想用来获取位置的 w/e 代码替换 jquery):
var pos = $('div').position();
var relX = event.pageX - pos.left;
var relY = event.pageY - pos.top;
另请参阅:JS:鼠标相对于元素的坐标,其中涵盖了有关支持其他浏览器的一些细节(尽管如果您使用的是可能不需要的 jquery)。