MouseEvent: movementX プロパティ

Baseline 2023
Newly available

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

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

ブラウザーの互換性

関連情報