인라인 Onclick 속성으로 이벤트 전파 방지
이벤트 전파는 DOM 트리를 통한 이벤트의 계단식 효과를 의미합니다. 내부 요소에서 이벤트가 발생하면 일반적으로 상위 요소까지 버블링됩니다. 특정 시나리오에서는 의도하지 않은 동작을 방지하기 위해 이 전파를 중지하는 것이 바람직할 수 있습니다.
다음 HTML 코드를 고려하세요.
<div onclick="alert('you clicked the header')" class="header"> <span onclick="alert('you clicked inside the header');">something inside the header</span> </div>
사용자가 요소의 경우, 범위 및 div의 클릭 핸들러가 모두 실행됩니다. 그러나 사용자가 하위 요소와 상호작용할 때 div의 클릭 이벤트가 트리거되는 것을 방지할 수 있습니다.
이를 달성하려면 event.stopPropagation() 메서드를 활용할 수 있습니다. 이 함수는 이벤트가 상위 요소로 버블링되는 것을 효과적으로 중지합니다. 수정된 코드는 다음과 같습니다.
<span onclick="event.stopPropagation(); alert('you clicked inside the header');">something inside the header</span>
이제 사용자가 요소의 경우 자체 클릭 이벤트만 실행됩니다. div의 클릭 이벤트가 더 이상 실행되지 않습니다.
IE 호환성
이전 버전의 Internet Explorer(IE)는 기본적으로 event.stopPropagation()을 지원하지 않습니다. 대신 window.event.cancelBubble = true:
<span onclick="window.event.cancelBubble = true; alert('you clicked inside the header');">something inside the header</span>
위 내용은 인라인 onclick을 사용하여 JavaScript에서 이벤트 전파를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!