복붙노트

[JQUERY] 이벤트 핸들러가 동적 콘텐츠에 작동하지 않습니다 [중복]

JQUERY

이벤트 핸들러가 동적 콘텐츠에 작동하지 않습니다 [중복]

해결법


  1. 1.당신은 다른 이벤트가 직접 바인딩 대신의 (동적으로로드 된 내용에 대한 작업을하지 않도록) 요소가 이미 존재하는 경우, 어떤 작품 위임, 선택기 매개 변수를 추가해야합니다.

    당신은 다른 이벤트가 직접 바인딩 대신의 (동적으로로드 된 내용에 대한 작업을하지 않도록) 요소가 이미 존재하는 경우, 어떤 작품 위임, 선택기 매개 변수를 추가해야합니다.

    http://api.jquery.com/on/#direct-and-delegated-events 참조

    에 코드를 변경

    $(document.body).on('click', '.update' ,function(){
    

    JQuery와 설정 인수로 주어진 선택기 매칭 소자에 다음 대리자 이벤트를 수신한다. 코드를 실행할 때이 방법은 실제 사용시에 반하는는 jQuery를 세트 요소가 존재해야합니다.

    이 답변은 많은 관심을받는 것처럼, 여기에 두 개의 추가는 조언이다 :

    그것이 가능하면 1), 쓸모없는 이벤트 처리를 방지하기 위해, 가장 정확한 요소에 이벤트 리스너를 결합하려고합니다.

    당신은 ID (a)의 기존 요소에 클래스 B의 요소를 추가하는 경우 즉, 다음 사용하지 마십시오

    $(document.body).on('click', '#a .b', function(){
    

    하지만 사용

    $('#a').on('click', '.b', function(){
    

    2) 당신이 ID로 요소를 추가 할 때, 당신은 두 번 추가하지 않을 보장하기 위해주의해야합니다. 뿐만 아니라 동일한 ID로 두 가지 요소를 가지고 HTML에서 "불법"이지만 많은 것들을 나누기. 예를 들어, 선택 "#C는"이 ID를 가진 단 하나의 요소를 검색 할 것입니다.


  2. 2.당신은 CSTE 연구진은 기능의 선택을 누락 :

    당신은 CSTE 연구진은 기능의 선택을 누락 :

    .on(eventType, selector, function)
    

    이 선택은 매우 중요합니다!

    http://api.jquery.com/on/

    참조 jQuery를 1.9 .live ()는 자세한 내용은 기능하지 않습니다.

  3. from https://stackoverflow.com/questions/15090942/event-handler-not-working-on-dynamic-content by cc-by-sa and MIT license