Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

document.createEvent

概要

指定されたタイプの イベント を作成します。返されるオブジェクトは初めに初期化する必要があり、その後で element.dispatchEvent へ渡すことができます。

構文

var event = document.createEvent(type);
  • event は作成された Event オブジェクトです。
  • type は作成するイベントタイプを表す文字列です。取り得るイベントタイプは、"UIEvents""MouseEvents""MutationEvents""HTMLEvents" のいずれかです。詳しくは 注意点 の項目を参照してください。

次の例では DOM メソッドを使用してチェックボックスのクリックをシミュレート(※スクリプトでクリックイベントを生成)しています。

function simulateClick() {
  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, true, window,
    0, 0, 0, 0, 0, false, false, false, false, 0, null);
  var cb = document.getElementById("checkbox"); 
  var canceled = !cb.dispatchEvent(evt);
  if(canceled) {
    // A handler called preventDefault
    alert("canceled");
  } else {
    // None of the handlers called preventDefault
    alert("not canceled");
  }
}

実際の表示を確認

注意点

createEvent に渡すのに適したイベントタイプを表す文字列は イベントモジュール で定義されています。イベントモジュールは、DOM Events 仕様書で定義されているものと、その他の仕様書 (SVG など) で定義されているものがあり、またイベントタイプの一部は Gecko 専用です。詳細は以下の表を参照してください。

To-do: テーブルにイベント名も追加すること

イベントモジュール createEvent に渡すイベントタイプ イベントの初期化に使われるメソッド
DOM Level 2 Events
ユーザインタフェースイベントモジュール "UIEvents" event.initUIEvent
マウスイベントモジュール "MouseEvents" event.initMouseEvent
変異イベントモジュール "MutationEvents" event.initMutationEvent
HTML イベントモジュール "HTMLEvents" event.initEvent
DOM Level 3 Events
ユーザインタフェースイベントモジュール "UIEvent""UIEvents" event.initUIEvent
マウスイベントモジュール "MouseEvent""MouseEvents" event.initMouseEvent
変異イベントモジュール "MutationEvent""MutationEvents" event.initMutationEvent
変異名前イベントモジュール (2006 年 6 月時点では Gecko に実装されていません) "MutationNameEvent" event.initMutationNameEvent
テキストイベントモジュール "TextEvent" (Gecko は "TextEvents" にも対応しています) event.initTextEvent
キーボードイベントモジュール "KeyboardEvent" (Gecko は "KeyEvents" にも対応しています) event.initKeyEvent (Gecko 専用。DOM 3 Events 作業草案では、代わりに initKeyboardEvent が使われています)
カスタムイベントモジュール "CustomEvent" event.initCustomEvent
基本イベントモジュール "Event" (Gecko は "Events" にも対応しています) event.initEvent
SVG 1.1 Scripting
SVG "SVGEvents" (Gecko は "SVGEvent" にも対応しています) event.initEvent
"SVGZoomEvents" (Gecko は "SVGZoomEvent" にも対応しています) event.initUIEvent
Gecko が対応しているその他のイベントタイプ Gecko-related information is taken from nsEventDispatcher::CreateEvent code - see lxr.m.o
- "MessageEvent" event.initMessageEvent
"MouseScrollEvents""PopupEvents" event.initMouseEvent
"PopupBlockedEvents" event.initPopupBlockedEvent
"XULCommandEvent""XULCommandEvents" event.initCommandEvent

一部のイベントが 2 つのイベントタイプのいずれを使っても作成できる理由は、DOM Level 3 Events でイベントタイプの名前が単数形に変わったものの、後方互換性のため古い複数形の名前にも対応しているためです。

仕様書

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: fscholz, jsx, ethertank, Yukoba, Kohei
 最終更新者: jsx,