确定 DataTables 是否在 1.10 版本中完成。有回调吗?

Determine if DataTables is done in version 1.10. Is there a callback?

如何确定 DataTables() 是否在 1.10 及更高版本中完成渲染?有没有我可以设置为函数的回调。我想隐藏我的 table 直到 DataTables 完成,然后在加载完成后显示它。

对于 1.10 版,我还没有遇到回调,我认为很多旧的回调现在已被弃用,因为它们的链接将我重定向到 legacy.datatables.net

您可以使用 init.dt 事件如下:

$('#example').on('init.dt', function(e, settings, json){
    console.log( 'Table initialisation complete: '+new Date().getTime() );
});

$('#example').dataTable();

来自manual

init event is called when your table has fully been initialised, data loaded and drawn, particularly when using an ajax data source.

注释

如果您要 hide/show table,您需要使用 columns.adjust() API 方法在 table 变为后重新计算列宽可见。

例如:

$('#example-container').hide();

$('#example').on('init.dt', function(e, settings, json){
    $('#example-container').show();

    $(this).DataTable().columns.adjust();
});

$('#example').dataTable();