상위 요소와 하위 요소 내에 클릭 가능한 요소를 통합할 때 상위 요소와 하위 요소가 모두 발생하는 시나리오가 발생하는 것이 일반적입니다. 클릭 이벤트가 동시에 트리거됩니다. 이 동작은 DOM 이벤트의 버블링 특성으로 인해 발생합니다.
이런 경우 부모의 클릭 이벤트가 실행되는 것을 방지하려면 여러 솔루션을 사용할 수 있습니다.
부모의 클릭 이벤트 핸들러에서 e.target 속성을 활용하면 이벤트를 트리거하는 실제 요소를 식별할 수 있습니다. e.target을 상위 요소와 비교하면 클릭이 상위 요소에서 발생했는지 아니면 상위 요소 내의 다른 곳에서 발생했는지 확인할 수 있습니다.
또는 클릭 이벤트 핸들러를 하위 앵커를 사용하고 그 안에서 e.stopPropagation()을 호출하면 이벤트가 상위 앵커까지 버블링되는 것을 방지할 수 있습니다. 이런 방식으로 하위 앵커를 클릭하면 상위 클릭 이벤트가 트리거되지 않습니다.
코드 예:
$("#clickable").click(function(e) { if ($(e.target).is("div")) { // Check if the event originated from the <div> window.location = url; return true; } }); $("#clickable a").click(function(e) { // Do something specific to the anchor e.stopPropagation(); });
이 방법 중 하나를 적용하면, 타겟 요소를 기반으로 클릭 이벤트를 선택적으로 처리하는 것이 가능해지며, 의도한 타겟일 때만 상위 클릭 이벤트가 실행되도록 할 수 있습니다.
위 내용은 하위 앵커를 클릭할 때 상위 클릭 이벤트가 발생하지 않도록 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!