我正在使用一个大型遗留应用程序。它使用 DataTables jQuery 插件,并在某个时刻(某处)创建一个 DataTable,影响我知道其 ID 的表的内容。
不幸的是,我无法轻松找到应用程序中定义数据表的位置。我到处寻找字符串
new DataTable(
,但就是找不到它。
所以我的问题是这样的:如果我想对 DataTable 上的事件(在本例中为
draw
事件)应用回调,有没有办法可以从表 DOM 对象本身获取 DataTable 实例?
这是我尝试过的(这不起作用,因为没有名为
dataTable
的属性):
var myTable = $('#myTable')[0];
var myDataTableInstance = myTable.dataTable;
myTable.on('draw', function () {
console.log('Redraw occurred at: ' + new Date().getTime());
});
我假设可能有办法做到这一点。当我在控制台中转储
myTable
时,我只是没有看到它。
这是我最终得到的结果:
$(document).on('ready', function () {
$('#myTable').DataTable().on('draw', function () {
console.log('Redraw occurred at: ' + new Date().getTime());
});
});
这看起来效果很好。