在raphael中获取光标坐标

Nei*_*ir0 15 javascript raphael

如何在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(' '));

                        }
                    );
Run Code Online (Sandbox Code Playgroud)

但是所有这些属性都返回窗口相对左上角的坐标或其他东西.

这是截图

在此输入图像描述

Ada*_*mes 13

我也有一段时间没有这个问题.你需要考虑当前的div.在我的例子中,div被称为canvas.对于坐标,我使用了以下内容:

posx = e.pageX - $(document).scrollLeft() - $('#canvas').offset().left;
posy = e.pageY - $(document).scrollTop() - $('#canvas').offset().top;
Run Code Online (Sandbox Code Playgroud)

注意:我也使用jQuery因此使用$.如果您不想使用jQuery,可以使用document.getElementById.

  • 如果拉斐尔只计算这些点(即相对于Raphael.paper坐标)并将它们添加到事件对象中,那将是非常好的. (5认同)

Fed*_*kov 9

如果您想要相对于div的坐标,请尝试使用event.offsetX/offsetY