数据表页面更改回调

emp*_*ine 21 javascript jquery jquery-datatables

我正在使用函数'fnDrawCallback'进行页面更改.它基本上解决了我的目的.唯一的事情是我在初始化dataTable对象时必须指定该函数.有什么办法可以在初始化后完成吗?

例如:我这样做:

$("#tableID").dataTables({'fnDrawCallBack':functionName});
Run Code Online (Sandbox Code Playgroud)

我想这样做:

var oTable = $("#tableID").dataTables();
oTable.fnDrawCallback = functionName;    // or something like this
Run Code Online (Sandbox Code Playgroud)

解:

oTable.aoDrawCallback.push(functionObj);
var functionObj = {
   fn: funtionName
};
Run Code Online (Sandbox Code Playgroud)

All*_*ine 19

您可以访问DataTables的内部数据设置来操作绘制回调数组(aoDrawCallback,而不是内部的fnDrawCallback - 它是一个数组,因为可以有多个回调),或者(我会建议)你可以添加一个'draw'事件监听器:

var oTable = $("#tableID").dataTables();
$(oTable).bind( 'draw', functionName );
Run Code Online (Sandbox Code Playgroud)

DataTables触发的事件在此处记录:http://datatables.net/docs/DataTables/1.9.0/#summary_events


str*_*ght 5

如果您的版本大于1.8,则可以使用此命令来查看页面更改事件:

    $('#myTable').on('page', function () {...} );
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!