我正在添加动态超链接,并希望在用户点击它时执行点击事件,但它没有启动。
<table id="assinged_areas" class="table table-bordered table-condensed table-condensed">
<tbody></tbody>
</table>
当用户在DropDown中选择了一些选项然后从服务器获取区域然后ajax通过将数据传递给此函数来调用此函数
function updateAssignedAreas(data) {
debugger;
var areas = data.split(',');
$.each(areas, function (i, item) {
$('#assinged_areas > tbody:last').append('<tr><td>' + item + '</td><td>' + '<a class=\'btn btn-danger\'><i class=\'fa fa-minus-circle\'></i></a>'
+ '</td></tr>');
});
}
这是用户点击取消分配时必须调用但不能全部触发的功能
$('.btn-danger').click(function (parameters) {
debugger;
});
答案 0 :(得分:1)
将event delegation用于动态元素
$("#assinged_areas").on("click", '.btn-danger', function (parameters) {
var row=$(this).closest("tr");
alert($(this).closest("tr").find("td").eq(0).html()); //will get the inner text of first td
});
事件委托允许您将单个事件侦听器附加到父元素,该元素将为匹配选择器的所有子项触发,无论这些子项现在是存在还是将来添加。