jquery onclick事件处理程序未触发

时间:2013-11-20 21:45:44

标签: jquery html

我有以下代码:

    $('.removeruleset').on('click', function(){     
    alert('inside');    
            id = $(this).closest('tr').attr('id');  
           $('#'+id+'').remove();
            update_call_routing_tag();
    });

它应该由html触发,如下所示:

<table id="summary">
           <tbody>
              <tr>
                <th>Actions</th>
                <th>Contact Type</th>                  
              </tr>

              <tr id="rulesegment_1">
                <td><input type="button" value="Remove" class="removeruleset"></td>
                <td name="contact_type" class="contact_type" id="contact_type1">Home</td>
              </tr>
            </tbody>
 </table>

由于某种原因,该事件不再被解雇。 我目前正在使用jquery 1.10.2 - 这就是我在执行“console.log(jQuery.fn.jquery);”时所得到的内容。

感谢。

编辑1

升级jquery lib之后,它一定停止了工作。 ??? 在任何情况下,我都在答案中建议添加“文档”的前缀,它的工作原理。我为其他事件处理程序做了同样的事情..但在完成所有功能之前必须分心并停止。 = / 我也正确地声明了“id”。 谢谢。

    //$('.removeruleset').on('click', function(){       
    $(document).on("click",".removeruleset",function(){         
            var id = $(this).closest('tr').attr('id');  
           $('#'+id+'').remove();
            update_call_routing_tag();
    });

2 个答案:

答案 0 :(得分:0)

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

 $(document).on('click', '.removeruleset', function(){     
    alert('inside');    
        id = $(this).closest('tr').attr('id');  
       $('#'+id+'').remove();
        update_call_routing_tag();
});

但你的代码有效......

答案 1 :(得分:0)

两件事:你可以使用.click()函数而你没有将id声明为var。

$('.removeruleset').click(function(){     
    alert('inside');    
    var id = $(this).closest('tr').attr('id');  
    $('#'+id+'').remove();
    update_call_routing_tag();
});