CustomEvent()

CustomEvent() 생성자는 새로운 CustomEvent 를 생성합니다.

주의: 이 기능은 Web Worker에서 사용할 수 있습니다.

문법

 event = new CustomEvent(typeArg, customEventInit);

파라미터

typeArg
DOMString 은 이벤트의 이름을 나타냅니다.
customEventInit Optional
CustomEventInit 딕셔너리는 다음 필드를 갖습니다.
  • "detail": 옵션이며 기본 값은 null 입니다. 모든 타입을 사용할 수 있으며 이벤트에 관련된 이벤트-의존 값입니다.

CustomEventInit 딕셔너리는 EventInit 으로부터의 필드도 허용합니다.

반환 값

지정한 타입의 새로운 CustomEvent 객체. CustomEventInit 이 제공되었다면 그에 따른 모든 프로퍼티가 구성됩니다.

예제

// 적당한 이벤트 리스터 추가
obj.addEventListener("cat", function(e) { process(e.detail) });

// 이벤트 생성 및 실행
var event = new CustomEvent("cat", {
  detail: {
    hazcheeseburger: true
  }
});
obj.dispatchEvent(event);

더 많은 예제는 이벤트 생성 및 트리거 문서에서 확인하세요.

명세

명세 상태 코멘트
DOM
The definition of 'CustomEvent()' in that specification.
Living Standard 초기 정의.

브라우저 호환성

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
CustomEvent() constructorChrome Full support 15Edge Full support YesFirefox Full support 11IE No support NoOpera Full support 11.6Safari Full support 6.1WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support 6.1Samsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown

폴리필

다음 코드를 사용해 CustomEvent() 생성자의 기능을 인터넷 익스플로러 9 이상에서 폴리필링할 수 있습니다.

(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 이상은 window 에 CustomEvent 를 추가하지만, 올바른 구현이 아니며, 이는 함수입니다.

함께 보기