javascript onmousemove получить относительные координаты - PullRequest
4 голосов
/ 11 января 2011
function aim() {
    var mousex = ?
}

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

Я не могу найти, как получить координаты мыши для события onmousemove в javascript.

Ответы [ 3 ]

9 голосов
/ 11 января 2011
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 голос
/ 06 февраля 2014

Приведенный выше пример с использованием guide.offsetLeft работает только в том случае, если охватывающий элемент имеет значение (0,0). Если нет, вы можете использовать guide.getBoundingClientRect (). Left (и аналогично для вертикальных координат)

0 голосов
/ 11 января 2011

Возьмите много по следующему сценарию. Я считаю, что это должно быть именно то, что вы ищете.

Захват позиции мыши

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...