{hero}

buttons.buttons.destroy

自:按鈕 3.0.0 起

當按鈕被銷毀時呼叫的函式。
請注意 - 這個屬性需要 DataTables 的 按鈕 擴充功能。

說明

此函式旨在讓按鈕作者能夠將自訂事件指派給主機 DataTable 或按鈕的 DOM 節點,並在按鈕被銷毀時完全移除這些事件,確保不會發生記憶體洩漏。

當使用此方法和 buttons.buttons.init 選項附加事件時,特別需要留意 buttons.buttons.namespace 選項(可以透過傳遞到此函式的第三個參數的 namespace 參數存取)。namespace 選項是每個按鈕唯一的命名空間字串,允許正確移除事件,而不會意外移除其他事件。

類型

function destroy( dt, node, config )

說明

當透過呼叫 buttons().remove()、當按鈕實例被銷毀 (buttons().destroy()) 或當主機 DataTable 被銷毀 (destroy()) 時,會呼叫此處給定的函式。它旨在讓作者移除按鈕上的事件,以防止記憶體洩漏。

參數
傳回值

不需要或預期傳回值。不會對任何傳回的值執行任何動作。

預設值

  • 值:

預設函式取決於按鈕類型。請參閱按鈕類型文件

範例

具有滑鼠進入/離開(懸停)事件監聽器的按鈕

new DataTable('#myTable', {
	layout: {
		topEnd: {
			buttons: [
				{
					text: '',
					init: function (e, dt, node, config) {
						node.on('mouseenter' + config.namespace, function () {
							console.log('Mouse enter');
						});

						node.on('mouseleave' + config.namespace, function () {
							console.log('Mouse leave');
						});
					},
					destroy: function (dt, node, config) {
						node.off('mouseenter' + config.namespace);
						node.off('mouseleave' + config.namespace);
					}
				}
			]
		}
	}
});