MouseEvent: movementX-Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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 |
Browser-Kompatibilität
BCD tables only load in the browser