-1
我正在動態構建表tr
。每一行都有一個表格單元格td
和每個單元都有一個按鈕:刪除元素及其兒童事件
var openButton = $('<button class="BtnOpenOrder">Open</button>');
openButton.button({ icons: { primary: "ui-icon-arrow-1-e" } });
openButton.attr('id', 'btnOpenSession' + i);
openButton.attr('onclick', 'openExistingSession("' + key + '")');
td8.append(openButton); // append to cell
在我的節目,我可能需要刪除所有的錶行,並創建新的。
$("#sessionMenu").find("tr:gt(0)").remove();
但它接縫刪除行,不會刪除事件。所以當創建新行時,會創建一個相同的事件。當事件被解僱時,會多次發射。例如,如果行被刪除並重新創建5次,當事件被觸發時,其觸發器會觸發5次。從我讀過的,我需要刪除事件。
$(".BtnEditOrder").add("*").off();
但是這個接縫會導致整個頁面在被調用時刷新。什麼是最好的去除表格行及其所有事件?
編輯
這裏是一個工作示例:jsfiddle
刪除行應刪除附加到它的任何綁定。你如何做綁定? – Taplar
openButton.attr('onclick','openExistingSession(「'+ key +'」)'); – PhillyNJ
請把你的問題的邏輯。目前還不清楚你如何做你的約束力,是否在任何形式的循環中,以及你的約束力。另外,不要使用onclick綁定。使用on()附加事件處理。 off()僅影響使用on()附加的事件處理。綁定的html元素的屬性超出了jquery的範圍。 – Taplar