如何在raphaeljs库中获取鼠标光标坐标?
我正在尝试这样的事情:
rect.mousemove(function (event) {
thisGrid.Popup.Show(event.layerX, event.layerY, ["clientX:", event.clientX, " clientY:", event.clientY, "\n", "layerX:", event.layerX, "layerY:", event.layerY, "\n",
"pageX:", event.pageX, "pageY:", event.pageY].join(' '));
}
);
但是所有这些属性都会返回窗口相对左上角的坐标或其他东西。
这是截图
答案 0 :(得分:13)
我也曾经有过这个问题。你需要考虑当前的div。在我的例子中,div被称为canvas。对于坐标,我使用了以下内容:
posx = e.pageX - $(document).scrollLeft() - $('#canvas').offset().left;
posy = e.pageY - $(document).scrollTop() - $('#canvas').offset().top;
注意:我也使用jQuery因此使用$。如果您不想使用jQuery,可以使用document.getElementById。
答案 1 :(得分:9)
如果您想要相对于div的坐标,请尝试使用event.offsetX / offsetY
答案 2 :(得分:-1)
使用事件源元素(event.srcElement)的位置进行计算