중첩된 이벤트 리스너 함수에서 이벤트 전파를 중지하려면 어떻게 해야 하나요?
이벤트는 최종 대상에 도달할 때까지 중첩된 리스너 배열로 전파됩니다. 이벤트가 더 이상 전파되지 않도록 하려면 특정 메서드를 사용해야 합니다.
다음 메서드는 이벤트 리스너에서 이벤트를 중단합니다.
event.stopPropagation();
예를 들어 하위 버튼에서 StopPropagation을 호출하면 마우스 클릭 이벤트가 상위 및 문서 수준으로 전파되지 않습니다. 따라서 상위 수준의 이벤트 리스너가 트리거되지 않습니다.
모든 이벤트 전파 중지
StopPropagation은 현재 유형의 이벤트에 대해서만 전파를 중지합니다. 객체에 다른 유형의 이벤트 리스너가 등록되어 있는 경우 StopPropagation을 호출해도 해당 이벤트 리스너는 트리거됩니다.
특정 객체와 관련한 모든 이벤트를 중지하려면 다음과 같이 StopImmediatePropagation 메서드를 사용하면 됩니다.
event.stopImmediatePropagation();
이벤트 리스너 중 하나에서 StopImmediatePropagation을 호출하면 해당 객체와 관련한 다른 이벤트 리스너도 모두 트리거되지 않습니다.