[javascript] 자바스크립트에서 이벤트 처리 방법과 이벤트 위임(Event Delegation)

이벤트 처리는 웹 애플리케이션에서 상호작용을 가능케 하며, 자바스크립트에서 이를 다루는 것은 중요합니다. 이번 글에서는 자바스크립트에서 이벤트를 다루는 방법과 이벤트 위임에 대해 알아보겠습니다.

이벤트 처리 방법

자바스크립트에서 이벤트를 처리하는 방법에는 여러 가지가 있습니다.

1. HTML 요소에 이벤트 핸들러 붙이기

<button onclick="handleClick()">Click me</button>

HTML 요소에 직접 이벤트 핸들러를 붙이는 방법은 간단하지만, 유지보수에 어려움이 있고, 여러 이벤트 핸들러가 중첩되면 문제가 발생할 수 있습니다.

2. DOM 요소에 이벤트 핸들러 등록하기

const button = document.getElementById('myButton');
button.addEventListener('click', handleClick);

DOM 요소에 addEventListener 메서드를 사용하여 이벤트 핸들러를 등록하는 방법은 유지보수에 용이하고, 여러 핸들러를 중첩해도 충돌을 방지할 수 있습니다.

이벤트 위임

이벤트 위임은 여러 하위 요소들에 대한 이벤트 핸들러를 상위 요소에 단 하나만 등록하여 관리하는 기법입니다.

<ul id="myList">
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>
const list = document.getElementById('myList');
list.addEventListener('click', function(event) {
  if (event.target.tagName === 'LI') {
    console.log('You clicked on: ', event.target.textContent);
  }
});

이벤트 위임을 사용하면 동적으로 추가되는 하위 요소에 대해 각각의 이벤트 핸들러를 등록하는 번거로움을 줄일 수 있습니다.

이렇게, 이벤트 처리 방법과 이벤트 위임을 효과적으로 사용하여 자바스크립트 애플리케이션을 효율적으로 관리할 수 있습니다.

참고: MDN Web Docs - Event Delegation


이제 자바스크립트에서 이벤트를 처리하는 방법과 이벤트 위임에 대해 알게 되었습니다.
예제 코드를 통해 이러한 개념을 보다 쉽게 이해할 수 있었습니다.
감사합니다!