🌿 stopPropagation

stopPropagation은 자바스크립트에서 이벤트가 부모 요소로 전파되는 것을 막는 함수입니다. 이 함수는 이벤트 버블링을 중단시키는데 사용됩니다.

이벤트 버블링이란, 한 요소에서 이벤트가 발생하면 그 이벤트가 해당 요소의 부모 요소로 전파되고, 다시 그 부모의 부모 요소로 계속 전파되는 현상을 말합니다. stopPropagation을 사용하면 이 전파 과정을 멈출 수 있습니다.

const JS_확대하기기능 = () => {
	document.getElementById("HTML_이미지사진").style = "width: 100vw; height: 100vh;";
}

const JS_좋아요기능 = (event) => {
	event.stopPropagation(); // 부모태그로 클릭이벤트 전파(Propagation)를 중단(Stop)함 => 부모의 onclick인 JS_확대하기기능() 실행막음
	alert("좋아요가 +1 올라갔습니다.");
}
<a href="./01-event-bubbling2-prevent-default-detail.html">
	<div class="CSS_이미지사진">
		<button onclick="JS_삭제하기기능(event, 1)">1번 삭제</button>
	</div>
</a>

이벤트 버블링과 stopPropagation의 역할:

이처럼 stopPropagation을 사용하면 이벤트가 특정 요소에서 멈추고, 더 이상 부모 요소로 전파되지 않도록 제어할 수 있습니다. 이 기능은 종종 이벤트가 의도치 않게 여러 요소에 영향을 미치는 것을 방지하고자 할 때 유용합니다.

preventDefault vs stopPropagation

📝 실습 코드