我正在使用Datatables,并有一个(我希望是简单的)问题。我在这段代码中有两个函数: myFunc1()和myFunc2():
myFunc1(); //display start_wait.gif
myTable.draw();
myFunc2(); //display finish_wait.gifmyTable.draw() (数据表的指令)非常慢(大约15秒),并且myFunc2()在myTable.draw()完成之前启动。
你有解决这个问题的办法吗?谢谢!
发布于 2018-02-26 22:00:26
收听绘图事件:
来自doc:"Draw event -在表完成绘制后触发。“
然后在事件处理程序中调用myFunc2()。
发布于 2018-02-26 22:02:49
请尝试以下操作
在dataTable定义中添加drawCallback,它将调用myFunc2();
var myTable = $('#YourTable').dataTable( {
"drawCallback": function( settings ) {
myFunc2();
}} );
myFunc1(); //display start_wait.gif
myTable.draw(); 发布于 2021-10-05 04:58:15
我不知道这有没有帮助。
我的情况是重新加载或在搜索表之后,然后查看是否有任何值。否则,我想显示一个弹出窗口。
我这样做了:
数据表设置:
"drawCallback": function () {
var event = $.extend($.Event('datatableDraw'), this); //Assign a custom event to the document.
$(document).trigger(event); //fire it.
}然后是调用draw方法的函数。
var table = $('#datatable').DataTable();
var myCallback = function (table) {
//the code you want to execute after the draw happends.
//display popup if you want.
}
$(document).one('datatableDraw',myCallback) //this will listen for the custom event, and get execute only once.
table.search(kwd).draw();这有点棘手,但很管用。
https://stackoverflow.com/questions/48990181
复制相似问题