Mam mały tag div, który po kliknięciu (onClick
) uruchomi funkcję printMousePos()
. Jest to HTML
tags:javascript pobiera współrzędne X i Y po kliknięciu myszy
<html>
<header>
<!-- By the way, this is not the actual html file, just a generic example. -->
<script src='game.js'></script>
</header>
<body>
<div id="example">
<p id="test">x: , y:</p>
</div>
</body>
</html>
Jest to funkcja printMousePos w osobnym pliku .js:
function printMousePos() {
var cursorX;
var cursorY;
document.onmousemove = function(e){
cursorX = e.pageX;
cursorY = e.pageY;
}
document.getElementById('test').innerHTML = "x: " + cursorX + ", y: " + cursorY;
}
Tak, funkcja faktycznie działa (nie wie po kliknięciu go i wszystkie) ale zwraca undefined zarówno dla x, jak i dla y, więc zakładam, że kod get x i y w funkcji jest niepoprawny. Jakieś pomysły? Wiem również, że nie ma żadnych wbudowanych funkcji w obrębie samego javascript, aby zwrócić x i y jak w java, ex .. czy byłby sposób, aby to zrobić z powiedzeniem JQuery lub php? (Unikaj tych, jeśli to możliwe, najlepiej javascript). Dzięki!
'event.clientX' i' event.clientY' – Jonathan
@ Jonathan Próbowałem tego, stil l zwraca nieokreślone. –
KursorX i kursorY są niezdefiniowane przed wywołaniem zdarzenia ruchu myszy. Jeśli chcesz, aby pozycja od zdarzenia przejścia zdarzenia kliknięcia do funkcji printMousePos – Mathias