destroy()
銷毀目前環境中的 DataTables。
描述
DataTables 會新增許多 HTML 元素、事件監聽器和其他修改,以便使用 DataTables 的功能來增強原始的 HTML 表格。 此方法可用於移除這些增強功能,並將表格還原為其原始未增強的狀態,並顯示表格中的資料。
如果您需要根據不同的初始化設定或表格中不同的欄數來銷毀和建立新表格,此函式會很有用,因為它們無法透過 API 即時變更。如果您不需要變更表格的功能,而只是變更表格中包含的資料,請考慮使用 clear()
、ajax.url()
和 rows.add()
方法。
如果您想用另一個表格取代一個表格,則必須銷毀表格以防止記憶體洩漏。
類型
function destroy( [ remove ] )
- 描述
透過移除所有 DataTables 的增強功能、對表格 DOM 結構的修改和事件監聽器,將目前環境中的表格還原至 DOM 中的原始狀態。
- 參數
名稱 類型 選用 1 remove
是 - 預設:false 從 DOM 中完全移除表格 (
true
) 或將其保留在 DOM 中,保持其原始未增強的 HTML 狀態 (預設,false
)。當設定為
true
時,從 v1.10.8 起,DataTables 將使用jQuery .remove()
方法從頁面中移除表格 - 這會導致任何繫結到表格元素的事件自動被 jQuery 移除。如果設定為false
,自訂事件不會從表格中移除,只會移除 DataTables 本身附加到表格的事件。- 傳回
DataTables API 實例
範例
在按鈕點擊時銷毀現有表格
var table = new DataTable('#myTable');
$('#tableDestroy').on('click', function () {
table.destroy();
});
從伺服器重新載入完整的表格描述,包括欄位
var table = new DataTable('#myTable');
$('#submit').on('click', function () {
$.getJSON('newTable', null, function (json) {
table.destroy();
$('#myTable').empty(); // empty in case the columns change
table = $('#myTable').DataTable({
columns: json.columns,
data: json.rows
});
});
});
相關
以下選項直接相關,在您的應用程式開發中也可能很有用。