最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Get cursor coordinates in raphael - Stack Overflow

programmeradmin2浏览0评论

How to get mouse cursor coordinates in raphaeljs library?

I'm trying something like:

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

                        }
                    );

But all this properties return coordinates relative left upper corner of window or something.

Here is screenshot

How to get mouse cursor coordinates in raphaeljs library?

I'm trying something like:

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

                        }
                    );

But all this properties return coordinates relative left upper corner of window or something.

Here is screenshot

Share Improve this question edited Jul 5, 2011 at 13:24 Neir0 asked Jul 5, 2011 at 10:44 Neir0Neir0 13.4k28 gold badges89 silver badges143 bronze badges
Add a comment  | 

3 Answers 3

Reset to default 13

I too had this issue a while back. You need to take into account the current div. In my case the div was called canvas. For the co-ordinates I used the following:

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

Note: I was also using jQuery too hence the use of $. You can use document.getElementById if you prefer not to use jQuery.

If you want coordinates relative to your div, try to use event.offsetX/offsetY

compute with position of event source element (event.srcElement)

发布评论

评论列表(0)

  1. 暂无评论