diff options
Diffstat (limited to 'files/ja/web/api/mouseevent/index.md')
-rw-r--r-- | files/ja/web/api/mouseevent/index.md | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/files/ja/web/api/mouseevent/index.md b/files/ja/web/api/mouseevent/index.md new file mode 100644 index 0000000000..0eb9ca3791 --- /dev/null +++ b/files/ja/web/api/mouseevent/index.md @@ -0,0 +1,194 @@ +--- +title: MouseEvent +slug: Web/API/MouseEvent +tags: + - API + - DOM + - DOM Events + - Interface + - MouseEvent + - Reference + - events + - mouse + - インターフェイス +translation_of: Web/API/MouseEvent +--- +<div>{{APIRef("DOM Events")}}</div> + +<p><code><strong>MouseEvent</strong></code> インターフェイスは、ポインティングデバイス (マウスなど) によるユーザの対話によって発生したイベントを表します。このインターフェイスを使用する一般的なイベントとして {{event("click")}}, {{event("dblclick")}}, {{event("mouseup")}}, {{event("mousedown")}} があります。</p> + +<p><code>MouseEvent</code> は {{domxref("UIEvent")}} から派生しており、これはさらに {{domxref("Event")}} から派生しています。後方互換性のために {{domxref("MouseEvent.initMouseEvent()")}} メソッドは維持されていますが、 <code>MouseEvent</code> オブジェクトを作成する際は {{domxref("MouseEvent.MouseEvent", "MouseEvent()")}} コンストラクターを使用するべきです。</p> + +<p><code>MouseEvent</code> からは、 {{domxref("WheelEvent")}}, {{domxref("DragEvent")}} などの特定用途向けイベントが派生しています。</p> + +<p>{{InheritanceDiagram}}</p> + +<h2 id="Constructor" name="Constructor">コンストラクター</h2> + +<dl> + <dt>{{domxref("MouseEvent.MouseEvent", "MouseEvent()")}}</dt> + <dd><code>MouseEvent</code> オブジェクトを生成します。</dd> +</dl> + +<h2 id="Properties" name="Properties">プロパティ</h2> + +<p><em>このインターフェイスは、親インターフェイスである {{domxref("UIEvent")}} および {{domxref("Event")}} のプロパティも継承しています。</em></p> + +<dl> + <dt>{{domxref("MouseEvent.altKey")}} {{readonlyinline}}</dt> + <dd>マウスイベントが発生したときに <kbd>alt</kbd> キーが押下されていれば、 <code>true</code> を返します。</dd> + <dt>{{domxref("MouseEvent.button")}} {{readonlyinline}}</dt> + <dd>マウスイベントが発生したときに押下されたボタンの番号 (もしあれば) です。</dd> + <dt>{{domxref("MouseEvent.buttons")}} {{readonlyinline}} {{gecko_minversion_inline("15.0")}}</dt> + <dd>マウスイベントが発生したときに離されていたボタンの番号 (もしあれば) です。</dd> + <dt>{{domxref("MouseEvent.clientX")}} {{readonlyinline}}</dt> + <dd>ローカル (DOM content) 座標における、マウスポインターの X 座標。</dd> + <dt>{{domxref("MouseEvent.clientY")}} {{readonlyinline}}</dt> + <dd>ローカル (DOM content) 座標における、マウスポインターの Y 座標。</dd> + <dt>{{domxref("MouseEvent.ctrlKey")}} {{readonlyinline}}</dt> + <dd>マウスイベントが発生したときに <kbd>control</kbd> キーが押下されていれば、 <code>true</code> を返します。</dd> + <dt>{{domxref("MouseEvent.metaKey")}} {{readonlyinline}}</dt> + <dd>マウスイベントが発生したときに <kbd>meta</kbd> キーが押下されていれば、 <code>true</code> を返します。</dd> + <dt>{{domxref("MouseEvent.movementX")}} {{readonlyinline}}</dt> + <dd>前の {{event("mousemove")}} イベントの位置に対して相対的な、マウスポインタの X 座標。</dd> + <dt>{{domxref("MouseEvent.movementY")}} {{readonlyinline}}</dt> + <dd>前の {{event("mousemove")}} イベントの位置に対して相対的な、マウスポインタの Y 座標。</dd> + <dt>{{domxref("MouseEvent.offsetX")}} {{readonlyinline}}{{experimental_inline}}</dt> + <dd>対象ノードのパディング境界の位置に対して相対的な、マウスポインタの X 座標。</dd> + <dt>{{domxref("MouseEvent.offsetY")}} {{readonlyinline}}{{experimental_inline}}</dt> + <dd>対象ノードのパディング境界の位置に対して相対的な、マウスポインタの Y 座標。</dd> + <dt>{{domxref("MouseEvent.pageX")}} {{readonlyinline}}{{experimental_inline}}</dt> + <dd>ドキュメント全体に対して相対的な、マウスポインタの X 座標。</dd> + <dt>{{domxref("MouseEvent.pageY")}} {{readonlyinline}}{{experimental_inline}}</dt> + <dd>ドキュメント全体に対して相対的な、マウスポインタの Y 座標。</dd> + <dt>{{domxref("MouseEvent.region")}} {{readonlyinline}}</dt> + <dd>イベントの影響を受けたヒット領域の ID を返します。影響を受けたヒット領域がない場合は、<code>null</code> を返します。</dd> + <dt>{{domxref("MouseEvent.relatedTarget")}} {{readonlyinline}}</dt> + <dd>イベントのセカンダリターゲットがあれば、それを表します。</dd> + <dt>{{domxref("MouseEvent.screenX")}} {{readonlyinline}}</dt> + <dd>グローバル (スクリーン) 座標における、マウスポインタの X 座標。</dd> + <dt>{{domxref("MouseEvent.screenY")}} {{readonlyinline}}</dt> + <dd>グローバル (スクリーン) 座標における、マウスポインタの Y 座標。</dd> + <dt>{{domxref("MouseEvent.shiftKey")}} {{readonlyinline}}</dt> + <dd>マウスイベントが発生したときに <kbd>shift</kbd> キーが押下されていれば、<code>true</code> を返します。</dd> + <dt>{{domxref("MouseEvent.which")}} {{non-standard_inline}} {{readonlyinline}}</dt> + <dd>マウスイベントが発生したときに押下されていたボタン。</dd> + <dt>{{domxref("MouseEvent.mozPressure")}} {{non-standard_inline()}} {{deprecated_inline}} {{readonlyinline}}</dt> + <dd>イベントが生成されたとき、タッチデバイスやタブレットデバイスに与えられた圧力の大きさです。この値の範囲は、<code>0.0</code> (最小圧力) から <code>1.0</code> (最大圧力) の間です。このプロパティは非推奨 (または非標準) なので、代わりに {{domxref("PointerEvent")}} を使用し、 {{domxref("PointerEvent.pressure", "pressure")}} プロパティを見てください。</dd> + <dt>{{domxref("MouseEvent.mozInputSource")}} {{non-standard_inline()}} {{readonlyinline}}</dt> + <dd>イベントを生成したデバイスの種類 (<code>MOZ_SOURCE_*</code> 定数のいずれか)。これにより、例えばマウスイベントが実際のマウスによって発生したのか、あるいはタッチイベントによって発生したのかを識別できます (これは、イベントに関連する座標を解釈する際の正確さに影響を与えるでしょう)。</dd> + <dt>{{domxref("MouseEvent.webkitForce")}} {{non-standard_inline()}} {{readonlyinline}}</dt> + <dd>クリック時に与えられた圧力。</dd> + <dt>{{domxref("MouseEvent.x")}} {{experimental_inline}}{{readonlyinline}}</dt> + <dd>{{domxref("MouseEvent.clientX")}} の別名。</dd> + <dt>{{domxref("MouseEvent.y")}} {{experimental_inline}}{{readonlyinline}}</dt> + <dd>{{domxref("MouseEvent.clientY")}} の別名。</dd> +</dl> + +<h2 id="Constants" name="Constants">定数</h2> + +<dl> + <dt>{{domxref("MouseEvent.WEBKIT_FORCE_AT_MOUSE_DOWN")}} {{non-standard_inline}}{{readonlyinline}}</dt> + <dd>通常のクリックに必要な最小圧力。</dd> + <dt>{{domxref("MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN")}} {{non-standard_inline}}{{readonlyinline}}</dt> + <dd>強めのクリック (force click)に必要な最小圧力。</dd> +</dl> + +<h2 id="Methods" name="Methods">メソッド</h2> + +<p><em>このインターフェイスは、親インターフェイスである {{domxref("UIEvent")}} および {{domxref("Event")}} のメソッドも継承します。</em></p> + +<dl> + <dt>{{domxref("MouseEvent.getModifierState()")}}</dt> + <dd>指定した修飾キーの現在の状態を返します。詳しくは {{domxref("KeyboardEvent.getModifierState")}}() をご覧ください。</dd> + <dt>{{domxref("MouseEvent.initMouseEvent()")}} {{deprecated_inline}}</dt> + <dd>作成した <code>MouseEvent</code> の値を初期化します。イベントがすでにディスパッチされている場合は、何も行いません。</dd> +</dl> + +<h2 id="Example" name="Example">例</h2> + +<p>この例は、 DOM メソッドを使用してチェックボックスのクリックをシミュレーション (すなわち、プログラムで click イベントを生成) しています。</p> + +<h3 id="HTML">HTML</h3> + +<pre class="brush: html"><p><label><input type="checkbox" id="checkbox"> Checked</label> +<p><button id="button">Click me</button></pre> + +<h3 id="JavaScript">JavaScript</h3> + +<pre class="brush: js">function simulateClick() { + var evt = new <a href="/ja/docs/Web/API/MouseEvent">MouseEvent</a>("click", { + bubbles: true, + cancelable: true, + view: window + }); + var cb = document.getElementById("checkbox"); //element to click on + var canceled = !cb.<a href="/ja/docs/Web/API/EventTarget.dispatchEvent" rel="internal">dispatchEvent</a>(evt); + if(canceled) { + // ハンドラで preventDefault を呼び出した場合 + alert("canceled"); + } else { + // ハンドラで preventDefault を呼び出さない場合 + alert("not canceled"); + } +} +document.getElementById("button").addEventListener('click', simulateClick);</pre> + +<h3 id="Result" name="Result">結果</h3> + +<p>{{EmbedLiveSample('Example')}}</p> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('CSSOM View','#extensions-to-the-mouseevent-interface', 'MouseEvent')}}</td> + <td>{{Spec2('CSSOM View')}}</td> + <td><code>MouseEvent</code> を long から double へ再定義。すなわち <code>PointerEvent</code> の <code>pointerType</code> がマウスの場合、 double になります。</td> + </tr> + <tr> + <td>{{SpecName('Pointer Lock','#extensions-to-the-mouseevent-interface','MouseEvent')}}</td> + <td>{{Spec2('Pointer Lock')}}</td> + <td>{{SpecName('DOM3 Events')}} に <code>movementX</code> および <code>movementY</code> プロパティを追加。</td> + </tr> + <tr> + <td>{{SpecName('CSSOM View', '#extensions-to-the-mouseevent-interface', 'MouseEvent')}}</td> + <td>{{Spec2('CSSOM View')}}</td> + <td>{{SpecName('DOM3 Events')}} に <code>offsetX</code>, <code>offsetY</code>, <code>pageX</code>, <code>pageY</code>, <code>x</code>, <code>y</code> プロパティを追加。 screen, page, client, coordinate (x / y) プロパティを <code>long</code> から <code>double</code> へ変更。</td> + </tr> + <tr> + <td>{{SpecName('UI Events', '#interface-mouseevent', 'MouseEvent')}}</td> + <td>{{Spec2('UI Events')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('DOM3 Events','#events-mouseevents','MouseEvent')}}</td> + <td>{{Spec2('DOM3 Events')}}</td> + <td>{{SpecName('DOM2 Events')}} に <code>MouseEvent()</code> コンストラクタ、<code>getModifierState()</code> メソッド、<code>buttons</code> プロパティを追加。</td> + </tr> + <tr> + <td>{{SpecName('DOM2 Events','#Events-MouseEvent','MouseEvent')}}</td> + <td>{{Spec2('DOM2 Events')}}</td> + <td>初回定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<p>{{Compat("api.MouseEvent")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>直近の親である {{domxref("UIEvent")}}.</li> + <li>{{domxref("PointerEvent")}}: マルチタッチを含む拡張されたポインターイベント</li> +</ul> |