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

html
<p id="log">Move your mouse around.</p>

JavaScript

js
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

Siehe auch