이벤트 버블링이벤트 버블링 활용이벤트 버블링 예시이벤트 버블링이란frontend

이벤트 버블링: HTML 문서에서 이벤트의 전파 원리와 활용 방법

KUKJIN LEE
KUKJIN LEE
2024년 2월 18일
176

이벤트 버블링(Event Bubbling)은 HTML 문서 구조에서 이벤트가 발생했을 때, 그 이벤트가 부모 요소로 계속해서 전파되는 현상을 말합니다. 이것은 이벤트의 처리를 조금 더 직관적으로 만들어주는데 기여합니다.

 

예를 들어, HTML 구조가 있다고 가정해봅시다.

만약 버튼(#child)을 클릭한다면, 클릭 이벤트는 버튼에서 시작해서 부모로 계속해서 전파됩니다. 즉, 클릭 이벤트는 먼저 버튼에서 처리되고, 그 다음에는 부모 요소인 div#parent에서도 처리됩니다. 이렇게 이벤트는 하위 요소에서 상위 요소로 전파되는 것을 이벤트 버블링이라고 합니다.

이벤트 버블링은 이벤트 핸들러를 더 효율적으로 사용할 수 있게 합니다. 예를 들어, 여러 개의 하위 요소들이 동일한 이벤트를 처리해야 할 때, 부모 요소에 이벤트 핸들러를 하나만 등록해놓고 이벤트가 버블링됨에 따라 필요한 하위 요소들에서 이벤트를 처리할 수 있습니다.

이벤트 버블링은 이벤트를 조금 더 유연하게 다룰 수 있게 해주지만, 때로는 의도치 않은 동작을 초래할 수도 있습니다. 이를 원치 않는 경우에는 event.stopPropagation() 메서드를 사용하여 이벤트 버블링을 중지시킬 수 있습니다.

 

<div id="parent">
    <button id="child">Click me!</button>
</div>

관련 글

TypeScript any 린트 에러(no-explicit-any) 근본적으로 해결하기

TypeScript 프로젝트에서 @typescript-eslint/no-explicit-any 린트 에러는 단순 규칙 비활성화로 해결할 문제가 아닙니다. 눈 앞 문제는 해결할 수 있지만, TypeScript를 사용하는 가장 중요한 이유를 위배하게 됩니다. any 타입은...

2025년 7월 23일269

JSP 주석, 아직도 `` 쓰시나요? 올바른 사용법

코드를 작성하다 보면 주석을 남기는 경우가 많습니다. 하지만 JSP 환경에서 어떤 주석을 사용하냐에 따라 보안 수준과 성능 이 크게 달라집니다. 표준 주석: 서버 사이드 주석 &lt;%-- --%&gt; JSP 페이지 내 개발 관련 주석은 &lt;%-- --%&gt; 를 사용하는게 좋습니다...

2025년 7월 9일144

쉽게 만드는 React Tab 라이브러리 react-tabs

개발자가 커스텀 스타일을 쉽게 적용할 수 있도록 최소한의 스타일만 제공하여 유연한 스타일링 이 가능한 라이브러리입니다. 상태 관리가 내장되어 있어 탭 선택 및 패널 표시 로직을 직접 구현할 필요 없이 간편하게 사용할 수 있습니다. 기본 사용법 먼저, 라이브러리를 설치합...

2025년 6월 17일173

Next.js 환경 변수 NEXT_PUBLIC 접두사 역할

NEXT_PUBLIC 접두사를 붙이면 변수의 접근 범위가 완전히 달라집니다. 이 차이점을 이해하는 것이 안전하고 효율적인 Next.js 애플리케이션을 구축하는 데 중요합니다. NEXT_PUBLIC 접두사가 없는 환경 변수 (서버 전용) NEXT_PUBLIC 접두사 없이...

2025년 6월 13일156