--- title: MouseEvent slug: Web/API/MouseEvent tags: - API - DOM - DOM Events - Interface - MouseEvent - Reference - events - mouse - インターフェイス translation_of: Web/API/MouseEvent ---
{{APIRef("DOM Events")}}

MouseEvent インターフェイスは、ポインティングデバイス (マウスなど) によるユーザの対話によって発生したイベントを表します。このインターフェイスを使用する一般的なイベントとして {{event("click")}}, {{event("dblclick")}}, {{event("mouseup")}}, {{event("mousedown")}} があります。

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

MouseEvent からは、 {{domxref("WheelEvent")}}, {{domxref("DragEvent")}} などの特定用途向けイベントが派生しています。

{{InheritanceDiagram}}

コンストラクター

{{domxref("MouseEvent.MouseEvent", "MouseEvent()")}}
MouseEvent オブジェクトを生成します。

プロパティ

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

{{domxref("MouseEvent.altKey")}} {{readonlyinline}}
マウスイベントが発生したときに alt キーが押下されていれば、 true を返します。
{{domxref("MouseEvent.button")}} {{readonlyinline}}
マウスイベントが発生したときに押下されたボタンの番号 (もしあれば) です。
{{domxref("MouseEvent.buttons")}} {{readonlyinline}} {{gecko_minversion_inline("15.0")}}
マウスイベントが発生したときに離されていたボタンの番号 (もしあれば) です。
{{domxref("MouseEvent.clientX")}} {{readonlyinline}}
ローカル (DOM content) 座標における、マウスポインターの X 座標。
{{domxref("MouseEvent.clientY")}} {{readonlyinline}}
ローカル (DOM content) 座標における、マウスポインターの Y 座標。
{{domxref("MouseEvent.ctrlKey")}} {{readonlyinline}}
マウスイベントが発生したときに control キーが押下されていれば、 true を返します。
{{domxref("MouseEvent.metaKey")}} {{readonlyinline}}
マウスイベントが発生したときに meta キーが押下されていれば、 true を返します。
{{domxref("MouseEvent.movementX")}} {{readonlyinline}}
前の {{event("mousemove")}} イベントの位置に対して相対的な、マウスポインタの X 座標。
{{domxref("MouseEvent.movementY")}} {{readonlyinline}}
前の {{event("mousemove")}} イベントの位置に対して相対的な、マウスポインタの Y 座標。
{{domxref("MouseEvent.offsetX")}} {{readonlyinline}}{{experimental_inline}}
対象ノードのパディング境界の位置に対して相対的な、マウスポインタの X 座標。
{{domxref("MouseEvent.offsetY")}} {{readonlyinline}}{{experimental_inline}}
対象ノードのパディング境界の位置に対して相対的な、マウスポインタの Y 座標。
{{domxref("MouseEvent.pageX")}} {{readonlyinline}}{{experimental_inline}}
ドキュメント全体に対して相対的な、マウスポインタの X 座標。
{{domxref("MouseEvent.pageY")}} {{readonlyinline}}{{experimental_inline}}
ドキュメント全体に対して相対的な、マウスポインタの Y 座標。
{{domxref("MouseEvent.region")}} {{readonlyinline}}
イベントの影響を受けたヒット領域の ID を返します。影響を受けたヒット領域がない場合は、null を返します。
{{domxref("MouseEvent.relatedTarget")}} {{readonlyinline}}
イベントのセカンダリターゲットがあれば、それを表します。
{{domxref("MouseEvent.screenX")}} {{readonlyinline}}
グローバル (スクリーン) 座標における、マウスポインタの X 座標。
{{domxref("MouseEvent.screenY")}} {{readonlyinline}}
グローバル (スクリーン) 座標における、マウスポインタの Y 座標。
{{domxref("MouseEvent.shiftKey")}} {{readonlyinline}}
マウスイベントが発生したときに shift キーが押下されていれば、true を返します。
{{domxref("MouseEvent.which")}} {{non-standard_inline}} {{readonlyinline}}
マウスイベントが発生したときに押下されていたボタン。
{{domxref("MouseEvent.mozPressure")}} {{non-standard_inline()}} {{deprecated_inline}} {{readonlyinline}}
イベントが生成されたとき、タッチデバイスやタブレットデバイスに与えられた圧力の大きさです。この値の範囲は、0.0 (最小圧力) から 1.0 (最大圧力) の間です。このプロパティは非推奨 (または非標準) なので、代わりに {{domxref("PointerEvent")}} を使用し、 {{domxref("PointerEvent.pressure", "pressure")}} プロパティを見てください。
{{domxref("MouseEvent.mozInputSource")}} {{non-standard_inline()}} {{readonlyinline}}
イベントを生成したデバイスの種類 (MOZ_SOURCE_* 定数のいずれか)。これにより、例えばマウスイベントが実際のマウスによって発生したのか、あるいはタッチイベントによって発生したのかを識別できます (これは、イベントに関連する座標を解釈する際の正確さに影響を与えるでしょう)。
{{domxref("MouseEvent.webkitForce")}} {{non-standard_inline()}} {{readonlyinline}}
クリック時に与えられた圧力。
{{domxref("MouseEvent.x")}} {{experimental_inline}}{{readonlyinline}}
{{domxref("MouseEvent.clientX")}} の別名。
{{domxref("MouseEvent.y")}} {{experimental_inline}}{{readonlyinline}}
{{domxref("MouseEvent.clientY")}} の別名。

定数

{{domxref("MouseEvent.WEBKIT_FORCE_AT_MOUSE_DOWN")}} {{non-standard_inline}}{{readonlyinline}}
通常のクリックに必要な最小圧力。
{{domxref("MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN")}} {{non-standard_inline}}{{readonlyinline}}
強めのクリック (force click)に必要な最小圧力。

メソッド

このインターフェイスは、親インターフェイスである {{domxref("UIEvent")}} および {{domxref("Event")}} のメソッドも継承します。

{{domxref("MouseEvent.getModifierState()")}}
指定した修飾キーの現在の状態を返します。詳しくは {{domxref("KeyboardEvent.getModifierState")}}() をご覧ください。
{{domxref("MouseEvent.initMouseEvent()")}} {{deprecated_inline}}
作成した MouseEvent の値を初期化します。イベントがすでにディスパッチされている場合は、何も行いません。

この例は、 DOM メソッドを使用してチェックボックスのクリックをシミュレーション (すなわち、プログラムで click イベントを生成) しています。

HTML

<p><label><input type="checkbox" id="checkbox"> Checked</label>
<p><button id="button">Click me</button>

JavaScript

function simulateClick() {
  var evt = new MouseEvent("click", {
    bubbles: true,
    cancelable: true,
    view: window
  });
  var cb = document.getElementById("checkbox"); //element to click on
  var canceled = !cb.dispatchEvent(evt);
  if(canceled) {
    // ハンドラで preventDefault を呼び出した場合
    alert("canceled");
  } else {
    // ハンドラで preventDefault を呼び出さない場合
    alert("not canceled");
  }
}
document.getElementById("button").addEventListener('click', simulateClick);

結果

{{EmbedLiveSample('Example')}}

仕様書

仕様書 状態 備考
{{SpecName('CSSOM View','#extensions-to-the-mouseevent-interface', 'MouseEvent')}} {{Spec2('CSSOM View')}} MouseEvent を long から double へ再定義。すなわち PointerEventpointerType がマウスの場合、 double になります。
{{SpecName('Pointer Lock','#extensions-to-the-mouseevent-interface','MouseEvent')}} {{Spec2('Pointer Lock')}} {{SpecName('DOM3 Events')}} に movementX および movementY プロパティを追加。
{{SpecName('CSSOM View', '#extensions-to-the-mouseevent-interface', 'MouseEvent')}} {{Spec2('CSSOM View')}} {{SpecName('DOM3 Events')}} に offsetX, offsetY, pageX, pageY, x, y プロパティを追加。 screen, page, client, coordinate (x / y) プロパティを long から double へ変更。
{{SpecName('UI Events', '#interface-mouseevent', 'MouseEvent')}} {{Spec2('UI Events')}}
{{SpecName('DOM3 Events','#events-mouseevents','MouseEvent')}} {{Spec2('DOM3 Events')}} {{SpecName('DOM2 Events')}} に MouseEvent() コンストラクタ、getModifierState() メソッド、buttons プロパティを追加。
{{SpecName('DOM2 Events','#Events-MouseEvent','MouseEvent')}} {{Spec2('DOM2 Events')}} 初回定義

ブラウザーの互換性

{{Compat("api.MouseEvent")}}

関連情報