MouseEvent: movementX-Eigenschaft
Die movementX
schreibgeschützte Eigenschaft des MouseEvent
-Interfaces liefert die Differenz der X-Koordinate des Mauszeigers zwischen dem gegebenen Ereignis und dem vorherigen mousemove
-Ereignis. Mit anderen Worten wird der Wert der Eigenschaft folgendermaßen berechnet: currentEvent.movementX = currentEvent.screenX - previousEvent.screenX
.
Warnung:
Browser [verwenden unterschiedliche Einheiten für movementX
und screenX
](https://github.com/w3c/pointerlock/issues/42) als die von der Spezifikation definierten. Je nach Browser und Betriebssystem können die movementX
-Einheiten ein physisches Pixel, ein logisches Pixel oder ein CSS-Pixel sein. Sie sollten möglicherweise die Bewegungseigenschaften vermeiden und stattdessen das Delta zwischen den aktuellen Clientwerten (screenX
, screenY
) und den vorherigen Clientwerten berechnen.
Wert
Eine Zahl. Immer null bei jedem MouseEvent
außer mousemove
.
Beispiele
Dieses Beispiel protokolliert die Mausbewegung mit movementX
und movementY
.
HTML
<p id="log">Move your mouse around.</p>
JavaScript
function logMovement(event) {
log.insertAdjacentHTML(
"afterbegin",
`movement: ${event.movementX}, ${event.movementY}<br>`,
);
while (log.childNodes.length > 128) log.lastChild.remove();
}
const log = document.getElementById("log");
document.addEventListener("mousemove", logMovement);
Ergebnis
Spezifikationen
Specification |
---|
Pointer Lock 2.0 # dom-mouseevent-movementx |