захватите мышь позиция по setInterval () в JavaScript

Это просто позволяет Вам использовать зарезервированное слово в качестве имени переменной. Не рекомендуемый, по моему скромному мнению (кроме случаев как Вы имеют).

7
задан rizidoro 23 October 2009 в 18:26
поделиться

2 ответа

Единственный раз, когда вы можете получить доступ к объекту события, - во время выполнение обработчика событий. Итак, что вам нужно сделать, это создать событие OnMouseMove в документе и сохранить координаты мыши в глобально доступном объекте. Затем вы можете получить доступ к этим значениям из любого места вашего скрипта, чтобы определить положение мыши.

Вот пример (вы не используете jQuery, поэтому это прямой код DOM):

document.onmousemove = function(e) {
    var event = e || window.event;
    window.mouseX = event.clientX;
    window.mouseY = event.clientY;
}

function mousemov() {
    document.getElementById("myDiv").style.left = window.mouseX;
}

window.onload = function() {
    setInterval(mousemov, 1000);
}

Я должен отметить, что clientX и clientY не принимают во внимание прокрутку. Вы'

8
ответ дан 7 December 2019 в 03:18
поделиться

well, if you listen to mouse move for the document and save its location, then, whenever you want, e.g. every second in your case you have the latest registered mouse position.

this is a jquery example

$(document).ready(function()
 {
  $().mousemove(function(e)
   {
       window.mouseX = e.pageX;
       window.mouseY = e.pageY;
  });
});

and your mousemove function would be

function mousemov() { 
    document.getElementById("myDiv").style.left = window.mouseX;
}
1
ответ дан 7 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: