3
HTML:表格式记录的删除确认问题
<td>random_data_1</td><td><button id="random_data_1"></button></td>
<td>random_data_2</td><td><button id="random_data_2"></button></td>
<td>random_data_3</td><td><button id="random_data_3"></button></td>
JQUERY:
//document.ready
$('button[id^="random_data_"]').on('click', function() {
$('#modal').modal('show');
$('#modal-delete-confirm').on('click', function() {
$.ajax({
...
});
});
});
我有这样的代码,我的问题是:
我每次触发一个按钮打开模态在没有确认删除操作的情况下驳回所述模式(其唯一目的是确认删除操作)...让我们假设:#random_data_1
被触发但被驳回,#random_data_2
,当我确认#random_data_3
时,所有3条记录都被确认删除。
这是为什么这样表现?我怀疑事件的实例被重复,一旦确认,所有实例都会被执行。我错了吗?因为好像ajax
调用被触发多次,具体取决于触发了多少点击事件(绑定到按钮[id^= random_data_])。
我正在经历类似的情况,这应该可以工作,但是有没有一种'优雅'的方式来销毁那些附加的处理程序在每一个模态解雇?我已经尝试了.off()函数,但是它完全消除了事件监听器的渲染按钮'无用' – Valkyrurr
您的意思是只分离您的点击处理程序?您可以传递一个已命名的函数,并将相同的函数传递给.off(),而不是将一个匿名函数传递给.on() - 请参阅.off()文档中的示例。 – tzunghaor