도와주세요. jq에 의해 동적으로 생성된 요소가 적용되려면 클릭 이벤트와 바인딩되어야 하며, 실행되는 함수에도 클릭 이벤트가 있고 함수가 두 번 실행되는 경우 이 상황을 해결하는 방법은 무엇입니까?
이벤트 객체를 사용하여 정말로 클릭하고 싶은 대상을 찾으세요
사실 이벤트가 두 번 바인딩되거나 이벤트가 버블링되는 것에 지나지 않습니다. 1. 이벤트 바인딩을 해제하고 다시 바인딩합니다. 으아악
으아악
먼저 모니터링을 제거한 다음 .off(handler).on(handler)를 모니터링하세요
이게 버블링인가요? e.stopPropagation()
off 먼저 바인딩을 해제한 다음 바인딩하세요
위 분이 더 명확하게 말씀해 주셨네요. 1. 문제 발견 1.1은 동적으로 생성된 요소가 이벤트에 바인딩되어 있기 때문에 두 번 바인딩되었지만 이 이벤트에서는 이전에 바인딩된 이벤트가 다시 호출됩니다
1.2 여전히 이벤트 버블링으로 인해 발생합니다. (버블링에 익숙하지 않은 경우 관련 정보를 먼저 읽어보세요.)
2. 동적으로 생성된 요소는 반드시 동적 바인딩 이벤트를 사용할 필요는 없습니다
Delegate() 메서드를 사용하는 이벤트 핸들러는 현재 또는 미래의 요소(예: 스크립트로 생성된 새 요소)에서 작동합니다. 자세한 문서를 보려면 여기를 클릭하세요: http://www.w3school.com.cn/jq...
on() 후에 off()를 끄는 것을 잊지 마세요
이벤트 객체를 사용하여 정말로 클릭하고 싶은 대상을 찾으세요
사실 이벤트가 두 번 바인딩되거나 이벤트가 버블링되는 것에 지나지 않습니다.
2, 버블링 취소1. 이벤트 바인딩을 해제하고 다시 바인딩합니다. 으아악
으아악
먼저 모니터링을 제거한 다음
.off(handler).on(handler)를 모니터링하세요
이게 버블링인가요? e.stopPropagation()
off 먼저 바인딩을 해제한 다음 바인딩하세요
으아악
으아악
위 분이 더 명확하게 말씀해 주셨네요.
으아악1. 문제 발견
1.1은 동적으로 생성된 요소가 이벤트에 바인딩되어 있기 때문에 두 번 바인딩되었지만 이 이벤트에서는 이전에 바인딩된 이벤트가 다시 호출됩니다
1.2 여전히 이벤트 버블링으로 인해 발생합니다. (버블링에 익숙하지 않은 경우 관련 정보를 먼저 읽어보세요.)
으아악2. 동적으로 생성된 요소는 반드시 동적 바인딩 이벤트를 사용할 필요는 없습니다
Delegate() 메서드를 사용하는 이벤트 핸들러는 현재 또는 미래의 요소(예: 스크립트로 생성된 새 요소)에서 작동합니다.
으아악자세한 문서를 보려면 여기를 클릭하세요: http://www.w3school.com.cn/jq...
on() 후에 off()를 끄는 것을 잊지 마세요