DOM

MouseEvent インターフェイス

 編集:2022.10.06 by T.A.

[Edge]○。→

MouseEvent インターフェイスは、ポインティングデバイス(マウスなど)によるユーザーの操作によって発行されたイベントを表します。このインターフェイスを使用する一般的なイベントとして clickdblclickmouseupmousedown があります。

MouseEvent は UIEvent から派生しており、これはさらに Event から派生しています。後方互換性のために MouseEvent.initMouseEvent() メソッドは維持されていますが、MouseEvent オブジェクトを作成する際は MouseEvent() コンストラクターを使用するべきです。

MouseEvent からは、WheelEventDragEvent などの特定用途向けイベントが派生しています。

MouseEvent →[派生] WheelEventDragEvent

コンストラクター
new MouseEvent(typeArg[, mouseEventInit])
新しい MouseEvent オブジェクトを生成します。
プロパティ

このインターフェイスは、親インターフェイスである UIEvent および Event のプロパティも継承しています。

MouseEvent.altKey 読取専用
MouseEvent 発行時、Alt キーが押されていたか否かを論理値で示します。
MouseEvent.button 読取専用
MouseEvent 発行時にどのボタンが押されたのかを数値で示します。
MouseEvent.buttons 読取専用
MouseEvent が発行時にマウス(またはその他の入力機器)のどのボタンが押されていた状態を数値で示します。
MouseEvent.clientX 読取専用
MouseEvent 発行時点にページの表示内容領域の左端からのポインターの水平位置を数値で示します。
MouseEvent.clientY 読取専用
MouseEvent 発行時点にページの表示内容領域の上端からのポインターの垂直位置を数値で示します。
MouseEvent.ctrlKey 読取専用
MouseEvent 発生時に Ctrl キーが押されていたか否かを論理値で示します。
MouseEvent.metaKey 読取専用
MouseEvent 発行時に meta キーが押されていたか否かを論理値で示します。
MouseEvent.movementX 読取専用
MouseEvent 発行時と直前の mousemove イベントとのマウス ポインターの X 座標の差を表す数値で示します。
MouseEvent.movementY 読取専用
MouseEvent 発行時と直前の mousemove イベントとのマウス ポインターの Y 座標の差を表す数値で示します。
MouseEvent.offsetX 読取専用
MouseEvent 発行時の対象ノード(HTMLElement.offsetParent?)のパディング領域からマウス ポインターの X 座標の距離を数値で示します。
MouseEvent.offsetY 読取専用
MouseEvent 発行時の対象ノード(HTMLElement.offsetParent?)のパディング領域からマウス ポインターの Y 座標の距離を数値で示します。
MouseEvent.pageX 読取専用
MouseEvent 発行時のマウス ポインターの X(水平)座標を、文書全体の左端からの相対座標を数値で返します。
MouseEvent.pageY 読取専用
MouseEvent 発行時のマウス ポインターの Y(垂直)座標を、文書全体の左端からの相対座標を数値で返します。
MouseEvent.region 読取専用 [Edge]⛌?
MouseEvent が影響する canvas のヒット領域の id を返します。影響するヒット領域がなければ、null を返します。
MouseEvent.relatedTarget 読取専用 [Edge]⛌?
MouseEvent の副ターゲット(存在すれば)を表します。
MouseEvent.screenX 読取専用
MouseEvent 発行時のグローバル(スクリーン)座標におけるマウス ポインターの水平方向の座標(オフセット)を数値で示します。
MouseEvent.screenY 読取専用
MouseEvent 発行時のグローバル(スクリーン)座標におけるマウス ポインターの垂直方向の座標(オフセット)を数値で示します。
MouseEvent.shiftKey 読取専用
MouseEvent 発行時に Shift キーが押されていたか否かを論理値で示します。
MouseEvent.mozPressure 読取専用 非標準 非推奨 [Edge]⛌?
MouseEvent 発行時にタッチ機器やタブレット機器に与えられた圧力の大きさを数値で示します。
MouseEvent.mozInputSource 読取専用 非標準 [Edge]⛌?
MouseEvent を生成したデバイスのタイプを数値で示します。
MouseEvent.webkitForce 読取専用 非標準
MouseEvent 発生時にタッチパッドまたはタッチ画面で適用される圧力の大きさを表す数値を示します。
MouseEvent.x 読取専用
MouseEvent.clientX の別名。
MouseEvent.y 読取専用
MouseEvent.clientY の別名。
定数
MouseEvent.WEBKIT_FORCE_AT_MOUSE_DOWN 読取専用 非標準
通常のクリックに必要な最小圧力。
MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN 読取専用 非標準
強めのクリック(force click)に必要な最小圧力。
メソッド

このインターフェイスは、親インターフェイスである UIEvent および Event のメソッドも継承しています。

MouseEvent.getModifierState()
MouseEvent 発行時の、指定された修飾キーの現在の状態を真偽値で返します。
MouseEvent.initMouseEvent() 非推奨
MouseEvent を指定の内容で初期化します。通常は Document.createEvent() メソッドで生成された MouseEvent を扱います。
mdnより

この例では、DOM メソッドを使ってチェックボックスのクリック(プログラムによるクリックイベントの生成)をシミュレートしています。イベントの状態(キャンセルされたかどうか)は、メソッド EventTarget.dispatchEvent() の返値で判断されます。

HTML:

<p><label><input type="checkbox" id="checkbox"> チェック</label></p>
<p><button id="button">クリックすると MouseEvent をチェックボックスに送信します</button></p>

JavaScript:

function simulateClick() {
// クリックイベントを送るために要素を取得
const cb = document.getElementById("checkbox");

// クリックイベントの MouseEvent を合成
  let evt = new MouseEvent("click", {
    bubbles: true,
    cancelable: true,
    view: window
  });

// イベントをチェックボックス要素に送信
cb.dispatchEvent(evt);
}
document.getElementById("button").addEventListener('click', simulateClick);

テスト