我正在使用函数'fnDrawCallback'进行页面更改。它基本上解决了我的目的。唯一的事情是我在初始化dataTable对象时必须指定该函数。有什么办法可以在初始化后完成吗?
例如: 我这样做:
$("#tableID").dataTables({'fnDrawCallBack':functionName});
我想这样做:
var oTable = $("#tableID").dataTables();
oTable.fnDrawCallback = functionName; // or something like this
解决方案:
oTable.aoDrawCallback.push(functionObj);
var functionObj = {
fn: funtionName
};
答案 0 :(得分:19)
您可以访问DataTables的内部数据设置来操作绘制回调数组(aoDrawCallback,而不是内部的fnDrawCallback - 它是一个数组,因为可以有多个回调),或者(我会建议)你可以添加'draw '事件监听器:
var oTable = $("#tableID").dataTables();
$(oTable).bind( 'draw', functionName );
DataTables触发的事件在此处记录:http://datatables.net/docs/DataTables/1.9.0/#summary_events
答案 1 :(得分:5)
如果你的版本大于1.8,你可以用它来点击页面更改事件:
$('#myTable').on('page', function () {...} );
希望这有帮助!
答案 2 :(得分:1)
答案 3 :(得分:1)
而不是两个单独的调用,只需在.dataTable()之前添加一个.bind(),例如以下每当发生页面更改时运行setMouseDown函数(包括呈现第一页):
$('#myTable')
.bind('page', setMouseDown())
.dataTable(
{
bJQueryUI: true,
... Other Init Stuff Here ...
});