초기의 이벤트 다루는 방법은 'DOM 레벨 0' 이벤트 핸들링이라고 부른곤 했다. 이 방법은 이벤트 핸들러에 함수를 바로 할당한다.
요소에 직접 이벤트 핸들링을 할당하거나
<div onclick="clickFunction()">
또는 script 요소나 라이브러리에서 이벤트 핸들러에 함수를 할당할 수 있다.
window.onload = someFunction;
새로운 DOM 레벨 2 이벤트 핸들링은 이벤트 핸들러에 직접 함수를 할당하지 않고 이벤트 리스너로 함수를 추가한다.
window.addEventListener("load", loadFunction, false);
이벤트 리스너는 제거할 수도 있고 취소할 수도 있다. 어떤 요소 내부에 있는 다른 요소에서 이벤트를 받을 때 이벤트가 전파되는 것을 방지할 수도 있다. 이벤트 취소는 폼의 유효성을 검사할 때 유용하고, 이벤트 전파 방지는 클릭 이벤트를 처리할 때 유용하다.
IE8 이전의 웹 브라우저는 DOM 레벨 2 이벤트 핸들링을 지원하지 않는다.