我有一个包含多个表格的div。每个表都有一个删除按钮,用于调用删除表的功能。表格也可以按日期升序/降序排序。如果表已经排序,删除功能将起作用。
删除按钮如下所示。
<button id="6" class="delete">X</button>
该函数具有“删除”类的单击事件侦听器。我目前只使用警报显示id以进行调试。
$(".delete").click(function () {
alert($(this).attr("id"));
});
我怀疑它在排序后不起作用的原因是因为它使用$(this)
选择器获取ID属性,这在排序后不够具体。
我已尝试过各种方法将表ID传递给删除功能,但没有一种方法可以正常工作。
答案 0 :(得分:3)
您在排序时重新显示内容,使.delete
元素动态化,为此您需要一个委派的事件处理程序:
$("#meetingTable").on('click', ".delete", function () {
alert(this.id);
});
答案 1 :(得分:0)
在此行
后面的按钮排序功能中为删除功能添加一个附加副本或回调 sortUsingNestedText($('#meetingTable'), "table", $(this).data("sortKey"));
我测试过它。
答案 2 :(得分:-1)
尝试更改
$(".delete").click(function () {
与
$(".delete").on("click", function(){
即使在DOM操作之后,这也允许jQuery监听该元素的点击