동적으로 생성 된 요소에 의해 트리거 된 이벤트가 작동하지 않습니다.

안토

나는이 <div>id="modal"JQuery와 함께 동적으로 생성 load()방법 :

$(".show-product").click(function(){

    $("#modal").load($(this).attr("href"), function(e){

        $(".details").click(function(){

클래스 '클릭 이벤트에 코드를 넣어야했습니다. 이 코드 내에서 세부 사항 '이 실행되지 않았기 때문입니다. 모달 외부에서도 사용하기 때문에 두 위치에 코드가 있습니다.

여기에서 본 Stack Overflow의 예 덕분에 동적으로 빌드 한 테이블에서도 비슷한 일이 발생합니다. 클릭 이벤트를 캡처하지 않고 모달을 열 때처럼 창이 어두워 지지만 URL이나로드를 호출하지 않습니다. 이 코드 :

$.ajax({
    url : form,
    type: "POST",
    data : postData,
    success:function(data, textStatus, jqXHR){
        $("#dynamicTable>tbody>tr").remove();
        var x = [];
        $.each(dataSet, function(i, item) {
            x.push('<tr><td><a href="/product/' + item.product.id + '" class="details" data-toggle="modal" data-target="#modal">' + item.product.name + '</a></td>');
            x.push('<td>' + item.product.name + '</td></tr>');
        });
        $("#dynamicTable>tbody").html(x.join(""));
    },
    error: function(jqXHR, textStatus, errorThrown){
        alert('Not product found!');
    }
});
event.preventDefault()

두 경우 모두 이벤트가 동적으로로드되기 때문에 작동하지 않는다고 생각합니다. 나는 여기와 Google에서 찾고 변경을 시도했지만 코드를 복제하지 않고도 작동하지 않습니다 (이벤트 $(document).ready및 데이터 동적, 모달 창 및로드 테이블을로드하는 각 이벤트에서).

변경 사항 :

$(document).ready(function() {

    //$(".show-product").click(function(){
    $(".show-product").on("click", function(e){

        $("#modal").load($(this).attr("href"), function(e){

            //$('.details').click(function(e){
            // ........
        });
    });
    // Added
    $(".details").on("click", function(e){
        ..........
        ..........
    });
});

이러한 변경 사항은 여전히 ​​작동하지 않고 정적 컨텐츠가있는 페이지에서만 작동하며 동적 컨텐츠 (모달, 테이블 동적 및 기타)가 작동하지 않는 이벤트를 갖게됩니다.

내가 뭘 잘못 했어?

안토

이벤트를 위임하면 body동적으로 생성 된 요소에 핸들러를 직접 연결하지 않으므로 문제 해결됩니다.

$(document.body).on("click", ".details", function(e){
  ...
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Javascript – 동적으로 생성 된 요소에 대한 이벤트 위임이 작동하지 않습니다.

분류에서Dev

동적으로 생성 된 DataGrid에 의해 트리거 된 이벤트 처리

분류에서Dev

동적으로 생성 된 요소의 addEventListener가 작동하지 않습니다.

분류에서Dev

Angular에서 동적으로 생성 된 요소가 이벤트에 응답하지 않습니다.

분류에서Dev

Jquery .on () 함수가 PHP에 의해 동적으로 생성 된 요소와 이벤트 핸들러를 올바르게 바인딩하지 않습니다.

분류에서Dev

.on이 동적으로 생성 된 요소에서 작동하지 않습니다.

분류에서Dev

ng-angular를 사용하여 동적으로 생성 된 요소가 onClick 이벤트를 트리거하지 않았습니다.

분류에서Dev

jQuery 이벤트가 새로 생성 된 요소에서 작동하지 않습니다.

분류에서Dev

동적으로 추가 된 요소에 대해 jQuery 클릭 이벤트가 작동하지 않음

분류에서Dev

동적으로 생성 된 요소에서 작동하지 않는 클릭 이벤트

분류에서Dev

동적으로 생성 된 요소에서 jQuery Tooltip 이벤트가 발생하지 않음

분류에서Dev

동적으로 생성 된 요소의 작업이 작동하지 않습니다.

분류에서Dev

동적으로 생성 된 요소의 이벤트 핸들러

분류에서Dev

음소거는 동적으로 생성 된 비디오에 대해 작동하지 않습니다.

분류에서Dev

이전 이벤트에서 생성 된 요소에서 연속 이벤트가 작동하지 않음

분류에서Dev

동적으로 생성 된 요소에 이벤트 리스너 추가

분류에서Dev

동적으로 생성 된 요소에 대해 다른 이벤트를 설정하는 방법

분류에서Dev

ajax를 통해 동적으로 생성 된 iframe의 onload 이벤트가 IE에서 실행되지 않습니다.

분류에서Dev

이벤트 위임을 통해 동적으로 생성 된 요소에서 CSS 클래스를 토글하는 데 문제가 있습니다.

분류에서Dev

비활성화 된 요소에있을 때 문서의 이벤트가 트리거되지 않습니다.

분류에서Dev

동적으로 생성 된 요소에 이벤트 바인딩

분류에서Dev

동적으로 생성 된 HTML 목록 요소에 이벤트 리스너를 어떻게 추가합니까?

분류에서Dev

Ajax를 통해 퍼팅 된 요소에 대해 이벤트가 작동하지 않습니다.

분류에서Dev

Ajax를 통해 퍼팅 된 요소에 대해 이벤트가 작동하지 않습니다.

분류에서Dev

동적으로 생성 된 요소에 대한 onclick 이벤트의 동적 생성

분류에서Dev

jQuery scrollTop이 동적으로 생성 된 텍스트 영역에서 작동하지 않습니다.

분류에서Dev

jQuery-동적으로 생성 된 요소에 클릭 이벤트 추가

분류에서Dev

jQuery-동적으로 생성 된 요소에 클릭 이벤트 추가

분류에서Dev

클릭 기능이 동적으로 생성 된 요소에서 작동하지 않습니다.

Related 관련 기사

  1. 1

    Javascript – 동적으로 생성 된 요소에 대한 이벤트 위임이 작동하지 않습니다.

  2. 2

    동적으로 생성 된 DataGrid에 의해 트리거 된 이벤트 처리

  3. 3

    동적으로 생성 된 요소의 addEventListener가 작동하지 않습니다.

  4. 4

    Angular에서 동적으로 생성 된 요소가 이벤트에 응답하지 않습니다.

  5. 5

    Jquery .on () 함수가 PHP에 의해 동적으로 생성 된 요소와 이벤트 핸들러를 올바르게 바인딩하지 않습니다.

  6. 6

    .on이 동적으로 생성 된 요소에서 작동하지 않습니다.

  7. 7

    ng-angular를 사용하여 동적으로 생성 된 요소가 onClick 이벤트를 트리거하지 않았습니다.

  8. 8

    jQuery 이벤트가 새로 생성 된 요소에서 작동하지 않습니다.

  9. 9

    동적으로 추가 된 요소에 대해 jQuery 클릭 이벤트가 작동하지 않음

  10. 10

    동적으로 생성 된 요소에서 작동하지 않는 클릭 이벤트

  11. 11

    동적으로 생성 된 요소에서 jQuery Tooltip 이벤트가 발생하지 않음

  12. 12

    동적으로 생성 된 요소의 작업이 작동하지 않습니다.

  13. 13

    동적으로 생성 된 요소의 이벤트 핸들러

  14. 14

    음소거는 동적으로 생성 된 비디오에 대해 작동하지 않습니다.

  15. 15

    이전 이벤트에서 생성 된 요소에서 연속 이벤트가 작동하지 않음

  16. 16

    동적으로 생성 된 요소에 이벤트 리스너 추가

  17. 17

    동적으로 생성 된 요소에 대해 다른 이벤트를 설정하는 방법

  18. 18

    ajax를 통해 동적으로 생성 된 iframe의 onload 이벤트가 IE에서 실행되지 않습니다.

  19. 19

    이벤트 위임을 통해 동적으로 생성 된 요소에서 CSS 클래스를 토글하는 데 문제가 있습니다.

  20. 20

    비활성화 된 요소에있을 때 문서의 이벤트가 트리거되지 않습니다.

  21. 21

    동적으로 생성 된 요소에 이벤트 바인딩

  22. 22

    동적으로 생성 된 HTML 목록 요소에 이벤트 리스너를 어떻게 추가합니까?

  23. 23

    Ajax를 통해 퍼팅 된 요소에 대해 이벤트가 작동하지 않습니다.

  24. 24

    Ajax를 통해 퍼팅 된 요소에 대해 이벤트가 작동하지 않습니다.

  25. 25

    동적으로 생성 된 요소에 대한 onclick 이벤트의 동적 생성

  26. 26

    jQuery scrollTop이 동적으로 생성 된 텍스트 영역에서 작동하지 않습니다.

  27. 27

    jQuery-동적으로 생성 된 요소에 클릭 이벤트 추가

  28. 28

    jQuery-동적으로 생성 된 요소에 클릭 이벤트 추가

  29. 29

    클릭 기능이 동적으로 생성 된 요소에서 작동하지 않습니다.

뜨겁다태그

보관