Chciałbym sprawdzić aktualną pozycję myszy, ale nie chcę używać:
$(document).bind('mousemove',function(e){
$("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY);
});
ponieważ muszę tylko znaleźć stanowisko i przetworzyć informacje
Odpowiedzi:
Nie sądzę, aby można było zapytać o pozycję myszy, ale można użyć
mousemove
modułu obsługi, który po prostu przechowuje informacje, aby można było zapytać o przechowywane informacje.Ale prawie cały kod, inny niż
setTimeout
kod i tym podobne, jest uruchamiany w odpowiedzi na zdarzenie, a większość zdarzeń zapewnia położenie myszy. Twój kod, który musi wiedzieć, gdzie jest mysz, prawdopodobnie ma już dostęp do tych informacji ...źródło
$(window).load(function(e){ console.log(e.pageX,e.pageY); });
zwraca undefined dla pozycji myszyNie możesz odczytać pozycji myszy w jQuery bez użycia zdarzenia. Po pierwsze, zwróć uwagę, że właściwości
event.pageX
ievent.pageY
istnieją w każdym zdarzeniu, więc możesz:Inną opcją jest użycie zamknięcia, aby dać całemu kodowi dostęp do zmiennej, która jest aktualizowana przez moduł obsługi myszy:
źródło
Użyłem tej metody:
W ten sposób odległość od góry będzie zawsze zapisywana w y, a odległość od lewej w x.
źródło
Co więcej,
mousemove
zdarzenia nie są wyzwalane, jeśli wykonasz drag'n'drop w oknie przeglądarki. Aby śledzić współrzędne myszy podczas drag'n'drop, należy dołączyć handlerdocument.ondragover
zdarzenia i użyć jego właściwości originalEvent.Przykład:
źródło
wykorzystanie
window.event
- zawiera ostatnieevent
i jak każdyevent
zawierapageX
,pageY
itp. Działa dla Chrome, Safari, IE ale nie FF.źródło
Utwórz obiekt eventListener na głównym obiekcie, w moim przypadku na obiekcie dokumentu, aby uzyskać współrzędne myszy w każdej klatce i przechowywać je w zmiennych globalnych, i tak możesz czytać myszy Y i Z, kiedy tylko chcesz, gdziekolwiek chcesz.
źródło
Trafiłem na to, więc byłoby miło się podzielić ...
Co o tym myślicie?
i bum, mamy to ..
źródło