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

Posted

技术标签:

【中文标题】确定 DataTables 是不是在 1.10 版中完成。有回调吗?【英文标题】:Determine if DataTables is done in version 1.10. Is there a callback?确定 DataTables 是否在 1.10 版中完成。有回调吗? 【发布时间】:2015-10-19 13:14:38 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

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

来自manual:

init 事件在您的表完全初始化、加载和绘制数据时调用,尤其是在使用ajax 数据源时。

注意事项

如果您要隐藏/显示表格,则需要在表格可见后使用columns.adjust() API 方法重新计算列宽。

例如:

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

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

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

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

【讨论】:

以上是关于确定 DataTables 是不是在 1.10 版中完成。有回调吗?的主要内容,如果未能解决你的问题,请参考以下文章

1.10 中的 DataTables 无限滚动

模型绑定新的 Datatables 1.10 参数

如何在DataTables 1.10中使用JQuery DataTables“input”插件

将数据属性放在 DataTables 1.10 上的行上

如何使用 jQuery.dataTables 1.10 向 ASP.NET WebMethod 后端发送和接收 JSON?

DataTables 1.10 全选复选框以选择所有行,甚至是带有分页的隐藏行