CustomEvent()

CustomEvent() コンストラクターは新しい CustomEvent を生成します。

註: この機能は Web Workers 内で利用可能です。

構文

 event = new CustomEvent(typeArg, customEventInit);

引数

typeArg
DOMString で、イベントの名前を表します。
customEventInit Optional
CustomEventInit 辞書で、以下のフィールドを持ちます。
  • "detail": 省略可で既定値は null であり、任意の型であり、イベントに関連付けられたイベントに依存する値です。

CustomEventInit 辞書は、 EventInit 辞書のフィールドも受け付けます。

返値

A new CustomEvent object of the specified type, with any other properties configured according to the CustomEventInit dictionary (if one was provided).

// add an appropriate event listener
obj.addEventListener("cat", function(e) { process(e.detail) });

// create and dispatch the event
var event = new CustomEvent("cat", {
  detail: {
    hazcheeseburger: true
  }
});
obj.dispatchEvent(event);

その他の例は、イベントの作成とトリガにあります。

仕様書

仕様書 状態 備考
DOM
CustomEvent() の定義
現行の標準 初回定義

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
CustomEvent() constructorChrome 完全対応 15Edge 完全対応 ≤18Firefox 完全対応 11IE 未対応 なしOpera 完全対応 11.6Safari 完全対応 6.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 14Opera Android 完全対応 12Safari iOS 完全対応 6.1Samsung Internet Android 完全対応 1.0

凡例

完全対応  
完全対応
未対応  
未対応

ポリフィル

Internet Explorer 9 以上では、 CustomEvent() の機能を以下のコードで代替することができます。

(function () {

  if ( typeof window.CustomEvent === "function" ) return false;

  function CustomEvent ( event, params ) {
    params = params || { bubbles: false, cancelable: false, detail: undefined };
    var evt = document.createEvent( 'CustomEvent' );
    evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
    return evt;
   }

  CustomEvent.prototype = window.Event.prototype;

  window.CustomEvent = CustomEvent;
})();

Internet Explorer 9 以上では CustomEvent オブジェクトを window に追加していますが、正しい実装では、これは関数です。

関連情報