mozilla
Your Search Results

    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 でイベントタイプの名前が単数形に変わったものの、後方互換性のため古い複数形の名前にも対応しているためです。

    仕様書

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

    Contributors to this page: fscholz, Kohei, jsx, Yukoba, ethertank
    最終更新者: jsx,
    サイドバーを隠す