MouseEvent: initMouseEvent() メソッド

非推奨: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

MouseEvent.initMouseEvent() メソッドは、いったん(通常は Document.createEvent() メソッドで)生成されたマウスイベントの値を初期化します。

警告: このメソッドは非推奨になったので、今後は使用しないでください。

代わりに MouseEvent() など、特定のイベントのコンストラクターを使用してください。 イベントの作成と起動のページに、使用方法についての詳しい情報があります。

この方法で初期化されるイベントは、 Document.createEvent() メソッドで作成されたものでなければなりません。 このメソッドは、 EventTarget.dispatchEvent() を使用してイベントが配信される前に、イベントを設定するために呼び出す必要があります。

構文

js
initMouseEvent(type, canBubble, cancelable, view,
                     detail, screenX, screenY, clientX, clientY,
                     ctrlKey, altKey, shiftKey, metaKey,
                     button, relatedTarget)

引数

type

このイベントの種別 (type) を設定する文字列です。 マウスイベントで使用可能な種別には、 click, mousedown, mouseup, mouseover, mousemove, mouseout があります。

canBubble

このイベントがバブリングできるかどうかです。 Event.bubbles の値を設定します。

cancelable

このイベントの既定のアクションを止めることができるかどうかです。 Event.cancelable の値を設定します。

view

このイベントの AbstractView です。ここでは window オブジェクトを渡す必要があります。 UIEvent.view の値を設定します。

detail

このイベントのマウスクリック回数です。 UIEvent.detail の値を設定します。

screenX

このイベントのスクリーン X 座標です。 MouseEvent.screenX の値を設定します。

screenY

このイベントのスクリーン Y 座標です。 MouseEvent.screenY の値を設定します。

clientX

このイベントのクライアント X 座標です。 MouseEvent.clientX の値を設定します。

clientY

このイベントのクライアント Y 座標です。 MouseEvent.clientY の値を設定します。

ctrlKey

このイベント中に control キーが押されていたかどうか。 MouseEvent.ctrlKey の値を設定します。

altKey

このイベント中に alt キーが押されていたかどうか。 MouseEvent.altKey の値を設定します。

shiftKey

このイベント中に shift キーが押されていたかどうか。 MouseEvent.shiftKey の値を設定します。

metaKey

このイベント中に meta キーが押されていたかどうか。 MouseEvent.metaKey の値を設定します。

button

このイベントのマウスボタン (button)。

relatedTarget

このイベントに関連する EventTarget。 一部のイベント種別 (例えば mouseovermouseout) でのみ使用されます。 それ以外の場合は null を渡してください。

返値

なし (undefined)。

HTML

html
<div style="background:red; width:180px; padding:10px;">
  <div id="out"></div>
  <input type="text" />
</div>

JavaScript

js
document.body.onclick = (event) => {
  const elementTag = event.target.tagName.toLowerCase();
  document.getElementById("out").innerHTML = elementTag;
};

const simulateClick = () => {
  const event = document.createEvent("MouseEvents");
  event.initMouseEvent(
    "click",
    true,
    true,
    window,
    0,
    0,
    0,
    80,
    20,
    false,
    false,
    false,
    false,
    0,
    null,
  );
  document.body.dispatchEvent(event);
};

simulateClick();

結果

仕様書

この機能は仕様書に含まれていません。標準化路線から外れました。

代わりに MouseEvent() コンストラクターを使用してください。

ブラウザーの互換性

BCD tables only load in the browser

関連情報

  • MouseEvent() コンストラクター: MouseEvent を生成するための新しい標準の方法
  • Event.initEvent() は似た目的を実現するより単純なメソッドです。 こちらも廃止されており、使用するべきではありません。