按钮.按钮.操作
自:Buttons 3.0.0 版起
当按钮激活时执行的操作。
请注意 - 该属性需要适用于 DataTables 的 Buttons 扩展。
说明
此函数定义了用户激活按钮时按钮将执行的操作。这通常会对 DataTable 执行一些操作,但也可以是任何操作,因为此函数可由您自己定义。
按钮可以通过多种方式激活
- 鼠标:单击
- 移动设备:点击按钮
- 键盘:tab 键浏览按钮,return 键激活
- API:
button().trigger()
类型
函数 action( e, dt, node, config, callback )
- 说明
激活按钮时执行此函数,允许用户触发某些操作。
- 参数
名称 类型 可选 1 e
否 触发事件的事件对象
2 dt
否 承载 DataTable 的 DataTables API 实例
3 node
否 被点击的按钮节点的 jQuery 实例
4 config
否 按钮的配置对象
5 callback
否 自 3.0 起:操作函数完成处理后应执行的回调函数。当为按钮设置
buttons.buttons.async
属性时,此操作是为了让按钮恢复至正常状态。如果未设置此项,此函数将可执行,但没有任何操作。- 返回
不需要返回值,也不期望有返回值。对于任何返回的值,均不会采取任何操作。
默认
- 值:
默认操作取决于按钮类型。请参阅按钮类型文档
示例
自定义操作函数
new DataTable('#myTable', {
layout: {
topEnd: {
buttons: [
{
text: 'Alert',
action: function (e, dt, node, config, cb) {
alert('Activated!');
this.disable(); // disable button
}
}
]
}
}
});
创建一个自定义按钮,它使用内置按钮操作方法
new DataTable('#myTable', {
layout: {
topEnd: {
buttons: [
{
text: 'Create CSV',
action: function (e, dt, node, config, cb) {
// Do custom processing
// ...
// Call the default csvHtml5 action method to create the CSV file
DataTable.ext.buttons.csvHtml5.action.call(
this,
e,
dt,
node,
config,
cb
);
}
}
]
}
}
});
异步处理完成回调
new DataTable('#myTable', {
layout: {
topEnd: {
buttons: [
{
text: 'Make Ajax call',
async: 100,
action: function (e, dt, node, config, cb) {
// Do custom async processing - e.g. an Ajax call
new Promise(resolve => {
// ...
resolve();
cb();
});
}
}
]
}
}
});