This question already has answers here:
How do I attach events to dynamic HTML elements with jQuery? [duplicate]
                                
                                    (8个答案)
                                
                        
                6年前关闭。
            
        

在html中有<div id="tableContainer">,我在其中附加了动态创建的表格

table = $("<table id="myTable" class='helpTable'>");
table.append("<tr id='1'><td>content<td></tr>");code
table.append("<tr id='2'><td>content<td></tr>"); code
$('#tableContainer').append(table);


现在我想在表格行上添加事件

 $("#myTable tr").on('click',function(event) {
alert("Hi"); });


它不起作用,但是以下情况正在起作用

$("#tableContainer").on('click',function(event) {
alert("Hi"); });


即我可以在静态html标签上进行事件

最佳答案

您需要使用event delegation作为表,并且tr元素是动态创建的

$("#tableContainer").on('click', '#myTable tr', function (event) {
    alert("Hi");
});

07-26 00:27