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