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 完全対応 ありFirefox 完全対応 11IE 未対応 なしOpera 完全対応 11.6Safari 完全対応 6.1WebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 ありOpera Android 完全対応 ありSafari iOS 完全対応 6.1Samsung Internet Android 完全対応 あり

凡例

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

ポリフィル

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 に追加していますが、正しい実装では、これは関数です。

関連情報