在JS中,如何在DIV中获取鼠标坐标?

时间:2009-06-16 18:16:16

标签: javascript

在JS中,如何在DIV中获取鼠标坐标?如果我使用event.pageX,它只有在DIV位于页面的左上角时才有效...否则,我必须知道页面中DIV的位置并从中减去event.pageX。当我动态生成DIV时,这很难做到,因为我必须跟踪每个DIV的位置。有什么想法吗?


如果我用绝对位置定义DIV,似乎event.layerX和event.layerY可以在FF中找到。这是一个简短的例子:

http://www.zangware.com/divpos.html

但在IE中,event.layerX / Y在DIV中未定义。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

听起来像你回答了自己的问题。我不知道从div中找到光标位置的任何快捷方式比从div的左上角的x和y坐标减去鼠标的x和y坐标更简单。只需确保在更改时缓存div的位置,以避免每次鼠标光标移动时进行DOM查找。

答案 1 :(得分:1)

这不是太难。每个元素都有一个offsetTop和offsetLeft属性。您可以使用当前鼠标位置来确定相对位置。