首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >等待myTable.draw()

等待myTable.draw()
EN

Stack Overflow用户
提问于 2018-02-26 21:54:56
回答 3查看 430关注 0票数 0

我正在使用Datatables,并有一个(我希望是简单的)问题。我在这段代码中有两个函数: myFunc1()和myFunc2():

代码语言:javascript
复制
myFunc1(); //display start_wait.gif
myTable.draw(); 
myFunc2(); //display finish_wait.gif

myTable.draw() (数据表的指令)非常慢(大约15秒),并且myFunc2()在myTable.draw()完成之前启动。

你有解决这个问题的办法吗?谢谢!

EN

回答 3

Stack Overflow用户

发布于 2018-02-26 22:00:26

收听绘图事件:

来自doc:"Draw event -在表完成绘制后触发。“

然后在事件处理程序中调用myFunc2()。

票数 0
EN

Stack Overflow用户

发布于 2018-02-26 22:02:49

请尝试以下操作

在dataTable定义中添加drawCallback,它将调用myFunc2();

代码语言:javascript
复制
var myTable = $('#YourTable').dataTable( {
"drawCallback": function( settings ) {
 myFunc2();
}} );


myFunc1(); //display start_wait.gif

myTable.draw(); 
票数 0
EN

Stack Overflow用户

发布于 2021-10-05 04:58:15

我不知道这有没有帮助。

我的情况是重新加载或在搜索表之后,然后查看是否有任何值。否则,我想显示一个弹出窗口。

我这样做了:

数据表设置:

代码语言:javascript
复制
"drawCallback": function () {
                var event = $.extend($.Event('datatableDraw'), this); //Assign a custom event to the document.
                $(document).trigger(event);  //fire it.
            }

然后是调用draw方法的函数。

代码语言:javascript
复制
    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();

这有点棘手,但很管用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48990181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档