본문 바로가기

기록/TIL

2023.08.24 - e.stopPropagation

좋아요 기능을 구현하다, 좋아요 아이콘을 눌러도 상세페이지로 이동하는 일이 생겼다.

 

좋아요 클릭

 

alert 발동

상세페이지 이동

 

좋아요를 클릭하면, alert만 작동 해야한다. 수정해보자.

 

 

수정 전 코드

onclick을 props로 받아 호출하고 있다. 여기서 버블링을 막기 위해 stopPropagation을 사용해보자.

 

Event.stopPropagation()

Event 인터페이스의 stopPropagation() 메서드는 현재 이벤트가 캡처링/버블링 단계에서 더 이상 전파되지 않도록 방지합니다. 전파를 방지해도 이벤트의 기본 동작은 실행되므로, stopPropagation()이 링크나 버튼의 클릭을 막는 것은 아닙니다. - https://developer.mozilla.org/ko/docs/Web/API/Event/stopPropagation

 

수정 후 코드

 

 

이제, 버블링이 일어나지 않아 좋아요를 클릭하면 alert만 나오게 된다!