{hero}

按钮.按钮.销毁

开始于:Buttons 3.0.0

按钮被销毁时调用的函数。
请注意 - 此属性需要针对 DataTables 的以下Buttons 扩展。

说明

提供此功能是为了允许按钮作者向主机 DataTable 或按钮的 DOM 节点分配自定义事件,然后在按钮销毁时清除这些事件,从而确保没有内存泄漏。

使用此方法与buttons.buttons.init 选项来附加事件时,特别需要注意的是buttons.buttons.namespace 选项(可作为传递到此函数的第三个参数的 namespace 参数访问)。namespace 选项是每个按钮的唯一的命名空间字符串,从而能够正确移除事件,而不会意外移除其他事件。

类型

函数 destroy( dt, node, config )

说明

这里给出的函数在通过调用buttons().remove()、Buttons 实例被销毁 (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);
					}
				}
			]
		}
	}
});