javascript - jq 클릭 이벤트 반복 실행 문제
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-07-05 10:38:45
0
9
977

도와주세요. jq에 의해 동적으로 생성된 요소가 적용되려면 클릭 이벤트와 바인딩되어야 하며, 실행되는 함수에도 클릭 이벤트가 있고 함수가 두 번 실행되는 경우 이 상황을 해결하는 방법은 무엇입니까?

曾经蜡笔没有小新
曾经蜡笔没有小新

모든 응답(9)
漂亮男人

이벤트 객체를 사용하여 정말로 클릭하고 싶은 대상을 찾으세요

曾经蜡笔没有小新

사실 이벤트가 두 번 바인딩되거나 이벤트가 버블링되는 것에 지나지 않습니다.
1. 이벤트 바인딩을 해제하고 다시 바인딩합니다. 으아악

2, 버블링 취소

으아악

某草草

먼저 모니터링을 제거한 다음
.off(handler).on(handler)를 모니터링하세요

Peter_Zhu

이게 버블링인가요? e.stopPropagation()

typecho

off 먼저 바인딩을 해제한 다음 바인딩하세요

滿天的星座

으아악

过去多啦不再A梦

으아악

Peter_Zhu

위 분이 더 명확하게 말씀해 주셨네요.
1. 문제 발견
1.1은 동적으로 생성된 요소가 이벤트에 바인딩되어 있기 때문에 두 번 바인딩되었지만 이 이벤트에서는 이전에 바인딩된 이벤트가 다시 호출됩니다

으아악

1.2 여전히 이벤트 버블링으로 인해 발생합니다. (버블링에 익숙하지 않은 경우 관련 정보를 먼저 읽어보세요.)

으아악

2. 동적으로 생성된 요소는 반드시 동적 바인딩 이벤트를 사용할 필요는 없습니다

Delegate() 메서드를 사용하는 이벤트 핸들러는 현재 또는 미래의 요소(예: 스크립트로 생성된 새 요소)에서 작동합니다.
자세한 문서를 보려면 여기를 클릭하세요: http://www.w3school.com.cn/jq...

으아악
phpcn_u1582

on() 후에 off()를 끄는 것을 잊지 마세요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!