0

クリックすると ajax リクエストで関数を実行するスクリプトがあります。

jQuery('.go').on('click', function(){ 
    id = "";
    id = $(this).parent().parent().find("input").val();             
    request_event("go",id);
    });
jQuery('.noGo').on('click', function(){ 
    id = "";
    id = $(this).parent().parent().find("input").val();             
    request_event("noGo",id);
});

ajax を実行すると、div (スパン値を含む div) の値が変更されます。

 switch(operation){
    case "go":  
       jQuery('.eventBox input[value="'+id+'"]').parent().find("#confirmBox").html("<span class='noGo cursorIcon'>N&atilde;o Confirmar</span>");

break;
case "noGo":
    jQuery('.eventBox input[value="'+id+'"]').parent().find("#confirmBox").html("<span class='go cursorIcon'>Confirmar</span>");


break;
  }

問題は、すべての新しい「リンク」で、クリック時のイベントがトリガーされないことです。

誰かが私を地獄にすることができますか?

4

3 に答える 3

3

.on()新しく作成された要素には、最も近い静的要素またはこのようなドキュメントで使用します

jQuery(document).on('click','.go', function(){
于 2013-05-02T08:43:37.753 に答える
1

すべての新しいリンクについて、これを行う必要があります。

jQuery(document).one('click', '.go', function () {
    id = "";
    id = $(this).parent().parent().find("input").val();
    request_event("go", id);
});
于 2013-05-02T08:43:43.940 に答える
0

動的要素の「オン」イベント レジスタを取得するようです。実装は、このように少し異なる必要があります。

$(document).on("click",".go",function(){
    alert("hello");
    $('#divTest').append("<span class='go'>dynamic span</span>");
});

このフィドルでこれを確認してください

于 2013-05-02T08:48:17.240 に答える