현재 번역은 완벽하지 않습니다. 한국어로 문서 번역에 동참해주세요.
영향을 받은 이벤트 리스너(EventListener
)를 적절한 순서로 호출하면서 이벤트 타겟(EventTarget
)에 의해 특정된 이벤트(Event
)하나를 디스패치합니다. 일반적인 이벤트 처리 규칙(capturing과 선택적인 bubbling단계를 포함하는)은 디스패치 하고자하는 이벤트에 dispatchEvent()에 직접 전달하여 적용합니다.
Syntax
cancelled = !target.dispatchEvent(event)
Parameter
event 는
Event
오브젝트로써 디스패치될 이벤트입니다.target
은Event.target
를 초기화하기 위해서 사용되고 어떤 이벤트리스너를 호출할 것인지 결정합니다.
Return Value
- 적어도 하나의 이벤트 핸들러가 그 이벤트를 처리하면서
Event.preventDefault()
를 호출하였다면false를 반환하고 그렇지 않으면 true를 반환합니다.
dispatchEvent 메서드는 그 이벤트의 타입이 메서드의 호출이전에 초기화되지 않았을 경우 UNSPECIFIED_EVENT_TYPE_ERR 에러를 발생시킵니다. 또는 이벤트의 타입이 null이거나 공백 스트링을 경우에도 같은 에러를 발생시킵니다. 이벤트 핸들러에 의해 발생한 이벤트는 잡히지 않은 예외(uncaugt exceptions)로 보고가 되며 이벤트 핸들러는 내부 콜스택(nested callstack)에서 실행이 됩니다. 이는 곧 완료가 될 때까지 호출자(caller)를 막는 다는 뜻이고 예외들이 호출자(caller)에게 전파(propagate)되지 않음을 말합니다.
Notes
dispatchEvent
is the last step of the create-init-dispatch process, which is used for dispatching events into the implementation's event model. The event can be created using document.createEvent method and initialized using initEvent or other, more specific, initialization methods, such as initMouseEvent or initUIEvent.
See also the Event object reference.
Example
See Creating and triggering events.
Specifications
Specification | Status | Comment |
---|---|---|
DOM The definition of 'EventTarget.dispatchEvent()' in that specification. |
Living Standard | |
DOM4 The definition of 'EventTarget.dispatchEvent()' in that specification. |
Recommendation | |
Document Object Model (DOM) Level 2 Events Specification The definition of 'EventTarget.dispatchEvent()' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 4 | 2 | 9 [1] | 9.64 (probably earlier) | 3.2 (probably earlier) |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | ? | ? | ? | ? | ? |
[1]: Earlier versions of IE instead only support the proprietary EventTarget.fireEvent()
method.