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 中的值(包含 span 值的那个 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

Use .on() on the closest static element or the document like this for newly created elements

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

For all the new links, you need to do this:

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

似乎为动态元素获取“on”事件寄存器,实现需要像这样有点不同

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

在这个小提琴中检查这个

于 2013-05-02T08:48:17.240 回答