이벤트의 개념
이벤트(event)란?
이벤트(event)란 웹 브라우저가 알려주는 HTML 요소에 대한 사건의 발생을 의미합니다.
웹 페이지에 사용된 자바스크립트는 이렇게 발생한 이벤트에 반응하여 특정 동작을 수행할 수 있습니다.
따라서 클라이언트 측 자바스크립트를 비동기식 이벤트 중심(event-driven)의 프로그래밍 모델이라고 합니다.
이벤트 타입(event type)
이벤트 타입(event type)은 발생한 이벤트의 종류를 나타내는 문자열로, 이벤트 명(event name)이라고도 합니다.
가장 많이 사용하는 키보드, 마우스, HTML DOM, Window 객체 등을 처리하는 이벤트가 폭넓게 제공되고 있습니다.
다음 예제는 HTML 문서의 특정 단락을 클릭하면 발생하는 이벤트를 처리하는 예제입니다.
예제
<p onclick="changeText(this)">이 문자열을 클릭해 보세요!</p>
...
<script>
function changeText(element) {
element.innerHTML = "문자열의 내용이 바뀌었습니다!";
}
</script>
이벤트 명세(event specification)
예전에는 onload, onclick, onmouseover와 같이 기본적이고도 단순한 이벤트만을 사용했습니다.
하지만 웹 기술의 발전에 따라 touch나 gesture와 같은 새로운 이벤트들이 빠르게 늘어났습니다.
따라서 하나의 표준만으로는 이벤트의 전체 목록을 정의할 수 없는 상황이 되었습니다.
이렇게 방대해진 이벤트를 위한 명세는 현재 다음과 같이 나누어져 정의되어 있습니다.
1. DOM Level 3 이벤트 명세
2. HTML5 관련 이벤트 명세
3. 모바일 장치를 위한 이벤트 명세