버블 링 및 event.stopPropagation()
의 작동 방식을 이해하지만 DOM 노드의 모든 하위 노드에서 클릭 핸들러를 피하는 방법을 찾고 있습니다.버블 링의 반전 : DOM 자식에 대한 클릭 금지
<div onclick="console.log('LOG ME')">
<div onclick="console.log('DO NOT LOG ME')">Click me</div>
</div>
로깅하려면 '로그인'을 누르고 싶지 만 '로깅하지 마십시오'는 로깅하지 마십시오.
pointer-events: none
을 사용하여 CSS 방식을 찾았지만 잘 작동합니다. 그러나 모든 my : hover, : 포커스 CSS 스타일은 하위 div에 있습니다.
아이디어가 있으십니까?
편집 : 일부 컨텍스트 나는 React를 사용하고있다. 바깥 쪽 div는 HOC이고 안쪽 div는 보이는 구성 요소입니다. HOC가 하위 구성 요소의 모든 클릭을 포착하고 자녀에 대한 클릭 전파를 중지하도록합니다. 반작용으로 할 것 :
당신이 이벤트의 끝에서 Capture
을 사용하여 다음 반응 사용하는 경우 ChildComponent
이 (업데이트 질문) 클릭 할 수있는 구성 요소
요 처음부터 내부 청취자를 필요로하는 케이스를 사용 하시겠습니까? – charlietfl
저는 React를 사용하고 있습니다. 바깥 쪽 div는 HOC이고 안쪽 div는 보이는 구성 요소입니다.HOC가 하위 구성 요소의 모든 클릭을 파악하기를 원합니다. – amaurymartiny