>  Q&A  >  본문

javascript - jq 클릭 이벤트 반복 실행 문제

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

曾经蜡笔没有小新曾经蜡笔没有小新2686일 전1007

모든 응답(9)나는 대답할 것이다

  • 漂亮男人

    漂亮男人2017-07-05 10:40:45

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

    회신하다
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-05 10:40:45

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

    2, 버블링 취소

    으아악

    회신하다
    0
  • 某草草

    某草草2017-07-05 10:40:45

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

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-07-05 10:40:45

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

    회신하다
    0
  • typecho

    typecho2017-07-05 10:40:45

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

    회신하다
    0
  • 滿天的星座

    滿天的星座2017-07-05 10:40:45

    으아악

    회신하다
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-07-05 10:40:45

    으아악

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-07-05 10:40:45

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

    으아악

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

    으아악

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

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

    으아악

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-07-05 10:40:45

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

    회신하다
    0
  • 취소회신하다