Как отслеживать положение мыши как при загрузке страницы, так и при движении мыши? - PullRequest
10 голосов
/ 04 ноября 2011

Я отслеживаю движения мыши, используя следующий JavaScript:

var mouseX = 0;
var mouseY = 0;

document.onmousemove = function (e) {
    mouseX = e.clientX;
    mouseY = e.clientY;
}

Моя проблема в том, что если мышь не перемещалась с момента загрузки страницы, значения mouseX и mouseY равны 0.Как получить значения мыши при загрузке страницы, а также при перемещении мыши?

Ответы [ 2 ]

10 голосов
/ 17 декабря 2011

Браузер не знает, где находится мышь, пока она не перемещается.

Это сложнее, чем просто "получить мне позицию курсора".Что, если мышь (планшет) отсутствует или что мышь не находится над окном браузера?

По той же причине вы не можете получать события наведения на элемент, если курсор уже завис, когдастраница загружается.Для запуска этих событий требуется движение мыши.

Перейдите на какой-либо сайт, наведите указатель мыши на ссылку с эффектом наведения (как подчеркивание), обновите страницу (не перемещая курсор), и вы увидитедаже если курсор находится над ссылкой, он не будет обработан, пока вы не переместите курсор.

К сожалению, это проблема уровня браузера, а не проблема JavaScript.

0 голосов
/ 17 февраля 2013

Вы можете определить событие наведения мыши для документа, чтобы перехватить первое взаимодействие с мышью при загрузке страницы.

...