javascript onmousemove获取相对坐标

时间:2011-01-11 12:11:35

标签: javascript dom

function aim() {
    var mousex = ?
}

<div class="gameArea" onmousemove="aim();"> </div>

我找不到如何在javascript中获取onmousemove事件的鼠标坐标。

3 个答案:

答案 0 :(得分:9)

var guide = null;

function aim(event) {
    if(window.event)
        event = window.event; //grrr IE
    var mousex = event.clientX - guide.offsetLeft;
    alert('mouse x' + mousex)
}
function init() {
    guide = document.getElementById("guide")
    guide.onmousemove = aim;
}

<body onload="init();">

这似乎适用于两种浏览器。我不能做onmousemove =“aim();”在html中,因为它没有传递mousemove事件对象。

答案 1 :(得分:1)

使用 guide.offsetLeft 的上述示例仅在封闭元素位于(0,0)时才有效。如果没有,你可以使用 guide.getBoundingClientRect()。left (和垂直坐标相似)

答案 2 :(得分:0)

请仔细阅读以下脚本。我相信它应该是你正在寻找的。

Capture Mouse Position