클릭 이벤트가 실행되지 않습니다.

arame3333

나는 ie 11을 사용하고 있습니다. 테이블에 행을 추가하고 있습니다. 모달 팝업을 사용하여 데이터를 입력하고 AJAX 호출을 통해 기본 데이터를 업데이트하고 있습니다. 이 작업이 완료되면 JQuery를 사용하여 테이블에 행을 추가합니다. 이것은 한 가지를 제외하고는 모두 잘 작동합니다. 테이블 행의 끝에는 버튼이 있습니다. 테이블의 다른 모든 버튼은 작동하지만 새 버튼은 작동하지 않습니다. 개발자 도구를 살펴보면 새 행의 버튼이 다른 행의 마크 업과 동일한 마크 업을 가지므로 동일한 방식으로 작동해야합니다. 따라서 표는 다음과 같습니다.

        <table class="GridTbl" id="surveyList">
            <thead>
                <tr>
                    <th>Survey</th>
                    <th>Contract</th>
                    <th>Select</th>
                </tr>
            </thead>
            <tbody>
                @foreach (var contract in
                    SessionObjectsMSurvey.ContractList.Where(x => x.SurveyId > 0)
                                        .OrderByDescending(x => x.SurveyCreated))
                {
                    <tr>
                        <td>@contract.SurveyTitle</td>
                        <td>@contract.ContractTitle</td>
                        <td>
                            <button class="btn btn-xs btn-primary selectContract"
                                    data-msurvey-row-id="@contract.RowId">
                                Select
                            </button>
                        </td>
                    </tr>
                }
            </tbody>
        </table>

여기에 데이터 행을 추가합니다. 버튼에는 selectContract 클래스가 있습니다. 이것은 작동합니다

var addRowToTable = function (data) {
    var row =
    '<tr>' +
        '<td>{{surveyTitle}}</td>' +
        '<td>{{contractTitle}}</td>' +
        '<td>' +
        '<button class="btn btn-xs btn-primary selectContract" data-msurvey-row-id="{{rowId}}">Select</button>' +
        '</td>' +
    '</tr>';


    //Add row
    $('#surveyList').prepend(row.compose({
        'surveyTitle': data.SurveyTitle,
        'contractTitle': data.ContractTitle,
        'rowId': data.RowId
    }));
};

그리고 이것은 일반적으로 작동하지만 새 행에서는 작동하지 않는 클릭 이벤트입니다. 새 행의 버튼은 이벤트를 발생시킵니다. 이벤트 핸들러가 어디에 있는지 모르겠습니다. 이건되어야하지만 그렇지 않습니다.

$(".selectContract").on("click", function (e) {
    e.preventDefault();
    var $this = $(this);
    var rowId = $this.data("msurvey-row-id");
    var url = GetHiddenField("msurvey-get-contract-and-survey-url");
    dataService.getContractAndSurvey(rowId, displayContractInfo, url);
});
알렉스

설명을 추가하기 위해. on()이벤트 위임에 이미 사용하고있는 의견에서 다음과 같이 말했습니다 .

$(".selectContract").on("click", function (e) {

하지만 여기서 정확히 무슨 일이 발생합니까? on()실제로 사용 하고 있지만 해당 코드 블록을 실행할 때 존재하는 선택자에만 해당됩니다 (= 직접 이벤트 바인딩). 또는 그렇지 않으면 다음과 같이 일관된 부모에 on 메서드를 바인딩해야합니다.

$('#surveyList').on("click", ".selectContract", function (e) {

이것은 동적으로 생성 = 이벤트 위임이 될 때마다 #surveyList클래스 내부 모든 요소에 대해 작동합니다 ".selectContract".

동적으로 생성 된 요소에 대한이벤트 바인딩을 자세히 살펴 보셨습니까 ?

On()반드시 이벤트 위임을 의미하지는 않습니다. 와 함께 사용할 수도 있습니다 off().

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

<object> 태그에서 클릭 이벤트가 실행되지 않습니다.

분류에서Dev

Ember :보기에 대한 클릭 이벤트가 실행되지 않습니다.

분류에서Dev

클릭 이벤트가 jquery에서 실행되지 않습니다.

분류에서Dev

jqplot 클릭 이벤트가 실행되지 않음

분류에서Dev

jQuery 클릭 이벤트 핸들러가 실행되지 않음

분류에서Dev

각도 클릭 이벤트가 실행되지 않음

분류에서Dev

녹아웃 클릭 이벤트가 실행되지 않음

분류에서Dev

Angular2 클릭 이벤트가 실행되지 않음

분류에서Dev

앵커의 클릭 이벤트가 실행되지 않음

분류에서Dev

ON을 사용하여 클릭 이벤트가 실행되지 않습니까?

분류에서Dev

클릭 이벤트가 트리거되지 않습니다.

분류에서Dev

간단한 자바 스크립트 버튼 클릭 이벤트가 실행되지 않습니다.

분류에서Dev

개발 콘솔에서 트리거 될 때 JQuery "클릭"이벤트가 실행되지 않습니다.

분류에서Dev

클릭 이벤트가 시작되지 않았습니다.

분류에서Dev

아래 코드에서 JavaScript 클릭 이벤트 핸들러가 실행되지 않았습니다.

분류에서Dev

새로 생성 된 li 태그에서 클릭 이벤트가 실행되지 않습니다.

분류에서Dev

버튼 클릭 이벤트가 팝업 창에서 실행되지 않습니다.

분류에서Dev

jquery 1.11.3.min.js를 사용할 때 클릭 이벤트에 jquery가 실행되지 않습니다.

분류에서Dev

클릭 jquery 이벤트가 작동하지 않습니다.

분류에서Dev

Grunt qunit 클릭 이벤트가 작동하지 않습니다.

분류에서Dev

리튬 클릭 이벤트가 작동하지 않습니다.

분류에서Dev

CKEditor의 클릭 이벤트가 발생하지 않습니다.

분류에서Dev

jquery의 클릭 이벤트가 작동하지 않습니다.

분류에서Dev

클릭 이벤트의 ListView가 작동하지 않습니다.

분류에서Dev

jquery의 클릭 이벤트가 작동하지 않습니다.

분류에서Dev

Angular 2 클릭 이벤트가 작동하지 않습니다.

분류에서Dev

클릭 이벤트 트리거는 참으로 다시 실행되지만 작동하지 않습니다.

분류에서Dev

동적 버튼 클릭시 이벤트 핸들러가 실행되지 않음

분류에서Dev

클릭 이벤트에서 window.addEventListener가 실행되지 않음

Related 관련 기사

  1. 1

    <object> 태그에서 클릭 이벤트가 실행되지 않습니다.

  2. 2

    Ember :보기에 대한 클릭 이벤트가 실행되지 않습니다.

  3. 3

    클릭 이벤트가 jquery에서 실행되지 않습니다.

  4. 4

    jqplot 클릭 이벤트가 실행되지 않음

  5. 5

    jQuery 클릭 이벤트 핸들러가 실행되지 않음

  6. 6

    각도 클릭 이벤트가 실행되지 않음

  7. 7

    녹아웃 클릭 이벤트가 실행되지 않음

  8. 8

    Angular2 클릭 이벤트가 실행되지 않음

  9. 9

    앵커의 클릭 이벤트가 실행되지 않음

  10. 10

    ON을 사용하여 클릭 이벤트가 실행되지 않습니까?

  11. 11

    클릭 이벤트가 트리거되지 않습니다.

  12. 12

    간단한 자바 스크립트 버튼 클릭 이벤트가 실행되지 않습니다.

  13. 13

    개발 콘솔에서 트리거 될 때 JQuery "클릭"이벤트가 실행되지 않습니다.

  14. 14

    클릭 이벤트가 시작되지 않았습니다.

  15. 15

    아래 코드에서 JavaScript 클릭 이벤트 핸들러가 실행되지 않았습니다.

  16. 16

    새로 생성 된 li 태그에서 클릭 이벤트가 실행되지 않습니다.

  17. 17

    버튼 클릭 이벤트가 팝업 창에서 실행되지 않습니다.

  18. 18

    jquery 1.11.3.min.js를 사용할 때 클릭 이벤트에 jquery가 실행되지 않습니다.

  19. 19

    클릭 jquery 이벤트가 작동하지 않습니다.

  20. 20

    Grunt qunit 클릭 이벤트가 작동하지 않습니다.

  21. 21

    리튬 클릭 이벤트가 작동하지 않습니다.

  22. 22

    CKEditor의 클릭 이벤트가 발생하지 않습니다.

  23. 23

    jquery의 클릭 이벤트가 작동하지 않습니다.

  24. 24

    클릭 이벤트의 ListView가 작동하지 않습니다.

  25. 25

    jquery의 클릭 이벤트가 작동하지 않습니다.

  26. 26

    Angular 2 클릭 이벤트가 작동하지 않습니다.

  27. 27

    클릭 이벤트 트리거는 참으로 다시 실행되지만 작동하지 않습니다.

  28. 28

    동적 버튼 클릭시 이벤트 핸들러가 실행되지 않음

  29. 29

    클릭 이벤트에서 window.addEventListener가 실행되지 않음

뜨겁다태그

보관