我正在使用 Socket.IO 加载一些数据并将其添加到具有 Socket.io 侦听器内的 JS 函数的表中。在该表的每一行的末尾,我正在尝试添加一个按钮,该按钮可以获取新添加行中的内容并对其进行处理。但是,事件处理程序不会为新添加的按钮触发。我觉得我正确地依附于on()
父母并且已经尝试了这个的每一种变化,但我仍然无法让按钮触发。这是我的代码:
$('body').on('click', '.btn btn-warning', function() {
alert( $(this).text() );
});
socket.on('loadtable', function (table) {
$("#tableBody").append('<tr><td>' + table["name"] + '</td><td>' + table["id"] +
'</td><td>' + table["loc"] + '</td><td>' + table["area"] + '</td><td>' + table["zip"] +
'</td><td><a href="#editModal" role="button" class="btn btn-warning" data-toggle="modal"><i class="icon-edit icon-white"></i></a>'
+ '</td><td><input type = "checkbox"></td></tr>'
);
});
<table class="table table-bordered table-hover" id ="jobsTable">
<thead>
<tr>
<th class = "span2">Name</th>
<th class = "span2">Process</th>
<th class = "span2">JAR</th>
<th class = "span1">Main Class</th>
<th class = "span2">Args</th>
<th class = "span1">Edit</th>
<th class = "span1">Select</th>
</tr>
</thead>
<tbody id = "tableBody">
</tbody>
我是否忽略了 Socket 函数内部的工作方式?