--- title: MouseEvent slug: Web/API/MouseEvent tags: - API - DOM - DOM Events - Interface - MouseEvent - Reference - events - mouse - インターフェイス translation_of: Web/API/MouseEvent ---
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}}
MouseEvent オブジェクトを生成します。このインターフェイスは、親インターフェイスである {{domxref("UIEvent")}} および {{domxref("Event")}} のプロパティも継承しています。
true を返します。true を返します。true を返します。null を返します。true を返します。0.0 (最小圧力) から 1.0 (最大圧力) の間です。このプロパティは非推奨 (または非標準) なので、代わりに {{domxref("PointerEvent")}} を使用し、 {{domxref("PointerEvent.pressure", "pressure")}} プロパティを見てください。MOZ_SOURCE_* 定数のいずれか)。これにより、例えばマウスイベントが実際のマウスによって発生したのか、あるいはタッチイベントによって発生したのかを識別できます (これは、イベントに関連する座標を解釈する際の正確さに影響を与えるでしょう)。このインターフェイスは、親インターフェイスである {{domxref("UIEvent")}} および {{domxref("Event")}} のメソッドも継承します。
MouseEvent の値を初期化します。イベントがすでにディスパッチされている場合は、何も行いません。この例は、 DOM メソッドを使用してチェックボックスのクリックをシミュレーション (すなわち、プログラムで click イベントを生成) しています。
<p><label><input type="checkbox" id="checkbox"> Checked</label> <p><button id="button">Click me</button>
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 へ再定義。すなわち PointerEvent の pointerType がマウスの場合、 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")}}