CustomEvent 인터페이스는 어플리케이션의 어떤 목적에 의해 초기화된 이벤트를 나타냅니다.

주의: This feature is available in Web Workers.

생성자

CustomEvent()
CustomEvent 를 생성합니다.

프로퍼티

CustomEvent.detail Read only
이벤트 초기화에 전달되는 모든 데이터.

이 인터페이스는 그 부모인 Event 로부터 프로퍼티를 상속받습니다:

Event.bubbles Read only
A Boolean indicating whether the event bubbles up through the DOM or not.
Event.cancelBubble
A historical alias to Event.stopPropagation(). Setting its value to true before returning from an event handler prevents propagation of the event.
Event.cancelable Read only
A Boolean indicating whether the event is cancelable.
Event.composed Read only
A Boolean value indicating whether or not the event can bubble across the boundary between the shadow DOM and the regular DOM.
Event.currentTarget Read only
A reference to the currently registered target for the event. This is the object to which the event is currently slated to be sent; it's possible this has been changed along the way through retargeting.
Event.deepPath 
An Array of DOM Nodes through which the event has bubbled.
Event.defaultPrevented Read only
Indicates whether or not event.preventDefault() has been called on the event.
Event.eventPhase Read only
Indicates which phase of the event flow is being processed.
Event.explicitOriginalTarget Read only
The explicit original target of the event (Mozilla-specific).
Event.originalTarget Read only
The original target of the event, before any retargetings (Mozilla-specific).
Event.returnValue
A historical property introduced by Internet Explorer and eventually adopted into the DOM specification in order to ensure existing sites continue to work. Ideally, you should try to use Event.preventDefault() and Event.defaultPrevented instead, but you can use returnValue if you choose to do so.
Event.srcElement
A non-standard alias (from old versions of Microsoft Internet Explorer) for Event.target, which is starting to be supported in some other browsers for web compatibility purposes.
Event.target Read only
A reference to the target to which the event was originally dispatched.
Event.timeStamp Read only
The time at which the event was created (in milliseconds). By specification, this value is time since epoch, but in reality browsers' definitions vary; in addition, work is underway to change this to be a DOMHighResTimeStamp instead.
Event.type Read only
The name of the event (case-insensitive).
Event.isTrusted Read only
Indicates whether or not the event was initiated by the browser (after a user click for instance) or by a script (using an event creation method, like event.initEvent).

Obsolete properties

Event.scoped Read only
A Boolean indicating whether the given event will bubble across through the shadow root into the standard DOM. This property has been renamed to composed.

메소드

CustomEvent.initCustomEvent()

CustomEvent 객체를 초기화합니다. 이벤트가 이미 디스패치되었다면, 이 메소드는 아무것도 하지 않습니다.

이 인터페이스는 그 부모인 Event 로부터 메소드를 상속받습니다:

Event.createEvent() 

이벤트를 새로 생성합니다. 생성한 이벤트는 initEvent() 메서드로 초기화해야 합니다.

Event.composedPath()
Returns the event’s path (objects on which listeners will be invoked). This does not include nodes in shadow trees if the shadow root was created with its ShadowRoot.mode closed.
Event.initEvent()
Initializes the value of an Event created. If the event has already being dispatched, this method does nothing.
Event.preventDefault()
Cancels the event (if it is cancelable).
Event.stopImmediatePropagation()
For this particular event, no other listener will be called. Neither those attached on the same element, nor those attached on elements which will be traversed later (in capture phase, for instance)
Event.stopPropagation()
Stops the propagation of events further along in the DOM.

명세

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

브라우저 호환성

 

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 6IE Full support 9Opera Full support 11Safari Full support 5.1WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android ?
Available in workersChrome Full support YesEdge Full support YesFirefox Full support 48IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 48Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android ?
CustomEvent() constructorChrome Full support 15Edge Full support YesFirefox Full support 11IE No support NoOpera Full support 11.6Safari No support No
Notes
No support No
Notes
Notes Available on Nightly build (535.2)
WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS No support No
Notes
No support No
Notes
Notes Available on Nightly build (535.2)
Samsung Internet Android ?
detailChrome Full support 11Edge ? Firefox Full support 11IE No support NoOpera Full support 11.6Safari No support No
Notes
No support No
Notes
Notes Available on Nightly build (535.2)
WebView Android Full support YesChrome Android Full support YesEdge Mobile ? Firefox Android Full support 14Opera Android Full support YesSafari iOS No support No
Notes
No support No
Notes
Notes Available on Nightly build (535.2)
Samsung Internet Android ?
initCustomEvent
Deprecated
Chrome Full support Yes
Full support Yes
Full support 59
Notes
Notes canBubble, cancelable, and detail are optional parameters defaulting to false, false, and null respectively.
Edge Full support YesFirefox Full support 6IE Full support 9Opera Full support 11Safari Full support 5.1WebView Android Full support Yes
Full support Yes
Full support 59
Notes
Notes canBubble, cancelable, and detail are optional parameters defaulting to false, false, and null respectively.
Chrome Android Full support Yes
Full support Yes
Full support 59
Notes
Notes canBubble, cancelable, and detail are optional parameters defaulting to false, false, and null respectively.
Edge Mobile Full support YesFirefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.

권한 코드에서 비권한 코드로 실행

CustomEvent 를 권한 코드(예, 확장 기능)에서 비권한 코드(예, 웹페이지)로 실행할 때, 보안 문제를 고려해야 합니다. Firefox 와 다른 Gecko 어플리케이션은 한 컨텍스트에서 생성된 객체가 다른 곳에서 바로 사용되는 것을 제한하여 보안상의 문제를 자동으로 방지하지만, 이는 여러분의 코드가 예상한대로 실행되는 것을 제한하기도 합니다.

CustomEvent 객체는 반드시 동일한 에서 생성해야 합니다. CustomEvent 의 detail 속성도 동일하게 제한됩니다. String 과 Array 값은 제한 없이 그 컨텐츠를 읽을 수 있지만, 커스텀 객체는 그렇지 않습니다. 커스텀 객체를 사용할 때, Components.utils.cloneInto() 를 사용해 컨텐츠 스크립트에서 읽을 수 있는 객체의 속성을 정의해야 합니다.

// doc 은 컨텐츠 다큐먼트의 참조입니다
function dispatchCustomEvent(doc) {
  var eventDetail = Components.utils.cloneInto({foo: 'bar'}, doc.defaultView);
  var myEvent = doc.defaultView.CustomEvent("mytype", eventDetail);
  doc.dispatchEvent(myEvent);
}

함수 노출은 크롬 권한으로 실행하기 위한 컨텐츠 스크립트를 허용하여 보안 취약점에 열려있다는 점을 주의하시기 바랍니다.

함께 보기

문서 태그 및 공헌자

이 페이지의 공헌자: cs09g, fscholz
최종 변경자: cs09g,