DOM2 Events Spec 요약

Dev 2009.05.19 14:29
W3C의 DOM2 Events Spec을 다음과 같이 요약한다.
http://www.w3.org/TR/DOM-Level-2-Events/


1.1. Overview of the DOM Level2 Event Model
1.1.1. 용어
UI events
user interface event. 마우스, 키보드 등을 통해 사용자가 발생시키는 이벤트

UI Logical events
focus change 또는 element triggering 같은 장치와 무관한 이벤트

Mutation events
DOM 내용이 바뀔 때 발생하는 이벤트

Capturing
event가 event-target에서 처리되기 전에 event-target의 ancestor 들에서 먼저 처리되는 것

Bubbling
event가 event-target에서 처리된 다음 ancestor들로 전파되는 것


1.2. Description of event flow
1.2.1. Basic event flow
event-listener 처리중에 exception이 발생하더라도 evcent는 계속 전파된다.

1.2.2. Event capture
capture는 top node (Document node)에서부터 target node까지 전파된다.
Event::stopPropagation() 메소드로 capturing을 중지시킬 수 있다. 단, stopPropagation()이 호출된 level의 event-listener 들은 모두 호출된다.

1.2.3. Event bubbling
capturer로 등록된 event-listener 들은 bubbling phase에서는 호출되지 않는다.
Event::stopPropagation() 메소드로 bubbling을 중지시킬 수 있다. 단, stopPropagation()이 호출된 level의 event-listener 들은 모두 호출된다.

1.2.4. Event cancelation
cancelable한 event는 Event::preventDefault() 메소드를 호출해서 implementation의 default 동작을 취소 시킬 수 있다. 즉, hyper-link를 클릭해도 해당 link로 이동하지 않게 만들 수 있다.


1.3. Event listener registration
1.3.1. Event registration interfaces
EventTarget::dispatchEvent() 메소드로 이벤트를 직접 전달할 수 있다.
EventTarget::dispatchEvent() 메소드로 이벤트를 fire 시켜도 capturing과 bubbling이 동일하게 발생한다.


(끝)
Posted by ingee

댓글을 달아 주세요