JavaScript

Types of Event

lshjju 2026. 2. 14. 16:58

사용자의 모든 움직임을 포착하는 이벤트(Event)의 종류에 대해 알아보겠습니다.

웹 페이지에서 발생하는 이벤트는 매우 다양하며, 이를 적절히 활용하면 생동감 넘치는 웹 사이트를 만들 수 있습니다.


1. 마우스 이벤트 (Mouse Events)

사용자가 마우스를 움직이거나 클릭할 때 발생하는 이벤트입니다. 가장 흔하게 사용되는 이벤트들입니다.

  • click: 요소를 클릭했을 때 발생합니다.
  • dbclick: 요소를 더블 클릭했을 때 발생합니다.
  • mouseenter / mouseleave: 마우스 포인터가 요소 안으로 들어오거나 나갈 때 발생합니다. (Hover 효과 구현 시 사용)
  • mousemove: 마우스가 요소 위에서 움직이는 동안 계속 발생합니다.

2. 키보드 이벤트 (Keyboard Events)

사용자가 키보드의 키를 누르거나 뗐을 때 발생하며, 주로 입력창(input)에서 자주 사용됩니다.

  • keydown: 키를 누르는 순간 발생합니다. (모든 키에 반응)
  • keyup: 눌렀던 키에서 손을 떼는 순간 발생합니다.
  • keypress: 키를 누르고 있는 상태에서 발생합니다. (최신 표준에서는 keydown 사용을 권장합니다.)

3. 문서 로딩 이벤트 (Document Loading Events)

웹 페이지가 브라우저에 표시되는 과정에서 발생하는 이벤트입니다. 스크립트가 실행될 안전한 시점을 파악할 때 필수적입니다.

  • DOMContentLoaded: HTML 문서가 완전히 로드되고 DOM 트리가 완성되었을 때 발생합니다. (이미지나 스타일시트 로드를 기다리지 않아 빠릅니다.)
  • load: 페이지에 포함된 모든 리소스(이미지, CSS 등)가 완전히 로드되었을 때 발생합니다.
  • resize: 브라우저 창의 크기를 조절할 때 발생합니다.
  • scroll: 사용자가 페이지를 스크롤할 때 발생합니다.

4. 폼 이벤트 (Form Events)

로그인창, 회원가입 등 양식(form)과 관련된 요소에서 발생하는 이벤트입니다.

  • submit: 폼의 전송 버튼을 눌렀을 때 발생합니다. (주로 e.preventDefault()와 함께 사용)
  • focus: 입력창에 커서가 깜빡이며 활성화되었을 때 발생합니다.
  • blur: 입력창에서 커서가 빠져나갔을 때(포커스를 잃었을 때) 발생합니다.
  • change: 입력 내용이 바뀌고 포커스를 잃었을 때 발생합니다. (체크박스나 선택창에서 유용)

📋 주요 이벤트 요약 표

카테고리 이벤트 이름 발생 시점
마우스 click 요소를 마우스로 클릭했을 때
키보드 keydown 키보드의 키를 누르는 순간
문서 로딩 DOMContentLoaded DOM 구조가 완성되어 조작이 가능할 때
submit 사용자가 데이터를 제출(전송)할 때
change 입력값이 바뀌고 다른 곳을 클릭했을 때

🖥️ 실전 예제 코드: "종합 이벤트 처리"

JavaScript
 
// 1. 폼 전송 이벤트
const loginForm = document.querySelector('#login-form');
loginForm.addEventListener('submit', (e) => {
    e.preventDefault(); // 페이지 새로고침 방지
    alert("로그인을 시도합니다.");
});

// 2. 입력창 포커스 이벤트
const inputField = document.querySelector('input');
inputField.addEventListener('focus', (e) => {
    e.target.style.backgroundColor = "lightyellow";
});

// 3. 윈도우 스크롤 이벤트
window.addEventListener('scroll', () => {
    console.log("현재 스크롤 위치:", window.scrollY);
});

학습 정리

  • 마우스 이벤트는 클릭과 이동을 감지하여 UI 상호작용을 돕는다.
  • 키보드 이벤트는 텍스트 입력이나 단축키 기능을 만들 때 사용한다.
  • 문서 로딩 이벤트는 자바스크립트가 안전하게 실행될 시점을 결정한다.
  • 폼 이벤트는 사용자가 입력한 데이터를 서버로 보내기 전 검증할 때 필수적이다.

다양한 이벤트의 종류에 대해 모두 학습하셨습니다!


'JavaScript' 카테고리의 다른 글

break  (0) 2026.02.14
Event Handler and Event Listener  (0) 2026.02.14
return  (0) 2026.02.14
Parameter and Argument  (0) 2026.02.14
Function Expression  (0) 2026.02.14