MouseEvent: movementX プロパティ

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.

movementXMouseEvent インターフェイスの読み取り専用プロパティで、直前の mousemove イベントとこのイベントのマウスポインターの X 座標の差を示します。このプロパティの値は currentEvent.movementX = currentEvent.screenX - previousEvent.screenX のように計算されます。

警告: ブラウザーは movementXscreenX仕様で定義されているものとは異なる単位を使用します。ブラウザーとオペレーティングシステムによって、 movementX の単位は物理ピクセルであったり、論理ピクセルであったり、 CSS ピクセルであったりします。

数値です。 mousemove 以外の MouseEvent では常に 0 です。

この例は movementXmovementY を使用して、マウスの移動量を記録します。

HTML

html
<p id="log">マウスを動かしてください。</p>

JavaScript

js
function logMovement(event) {
  log.insertAdjacentHTML(
    "afterbegin",
    `移動量: ${event.movementX}, ${event.movementY}<br>`,
  );
  while (log.childNodes.length > 128) log.lastChild.remove();
}

const log = document.getElementById("log");
document.addEventListener("mousemove", logMovement);

結果

仕様書

Specification
Pointer Lock 2.0
# dom-mouseevent-movementx

ブラウザーの互換性

BCD tables only load in the browser

関連情報