저는 두 가지 해결책을 생각합니다. 1. 이벤트가 버블링되는 것을 방지합니다. 이벤트 버블링은 내부 자식 요소에서 외부 부모 요소까지 단계별로 실행됩니다. 자식 요소의 클릭 이벤트 실행 시 버블링 차단 이벤트를 호출해야 이벤트가 상위 계층으로 전달될 수 없습니다. 상위 레이어 이벤트를 실행합니다. 2. 클릭을 유발한 요소에 따라 다양한 이벤트를 실행합니다. 클릭된 요소가 하위 요소에 의해 발생한 경우 이벤트 A가 실행됩니다. 하위 요소가 아닌 경우 이벤트 B가 실행됩니다.
전파 중지()
객체에서 특정 유형의 이벤트를 트리거하는 것(예: 클릭
으아아아onclick
事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true
,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document
对象(有些浏览器是window
)을 이벤트 버블링이라고 합니다.JS의 버블링(캡처) 이벤트입니다
이와 같은 솔루션은 매우 간단합니다
으아악js 버블링, 버블링을 취소하기만 하면 됩니다.
이벤트 위임을 사용하면 이 문제가 발생하지 않습니다
이 두 글을 읽고 이해가 안 되신다면 저에게 오세요:
저는 두 가지 해결책을 생각합니다.
1. 이벤트가 버블링되는 것을 방지합니다.
이벤트 버블링은 내부 자식 요소에서 외부 부모 요소까지 단계별로 실행됩니다. 자식 요소의 클릭 이벤트 실행 시 버블링 차단 이벤트를 호출해야 이벤트가 상위 계층으로 전달될 수 없습니다. 상위 레이어 이벤트를 실행합니다.
2. 클릭을 유발한 요소에 따라 다양한 이벤트를 실행합니다.
클릭된 요소가 하위 요소에 의해 발생한 경우 이벤트 A가 실행됩니다. 하위 요소가 아닌 경우 이벤트 B가 실행됩니다.
사건에 대한 자세한 내용은 여기를 참조하세요. /a/11...
일반적인 관행에 따르면 클릭 이벤트를 바인딩하는 데 어떤 선택기를 사용하는지 알고 싶습니다. 클릭 코드와 p
의 html 코드를 게시하는 것이 좋습니다.