隐藏HTML直到jQuery绑定完成?

时间:2011-03-20 02:55:28

标签: jquery html jquery-plugins

我想知道是否可以检测何时完成绑定?例如,我有一个表与jquery datatables.net插件绑定,该插件位于ajax jquery ui选项卡中。

因此当标签加载内容(表格)时。我有一个jquery livequery等待表出现。

因此,当表格显示时,它会将datatables插件绑定到它。然而,我得到一个闪烁的切换。

我想知道是否有隐藏元素直到完成所有绑定?

由于

修改

正如一些人已经指出数据表有一些可以解决我的问题的回调。然而,这个问题不仅限于此插件,而且可能仅限于其他可能没有此类回调的插件,甚至可能内置在点击,提交等内容中。

当然,其中一些像click一样可能不像插件渲染那样通知,因为当用户点击该元素时,绑定可能就完成了。

我想我试图看看是否有可能延迟一个元素被渲染,直到完成它们的所有内容完成。

3 个答案:

答案 0 :(得分:0)

您可以使用load()事件。

  

将load事件发送给元素   当它和所有子元素一直存在时   完全装满了。此事件可以发送到与URL关联的任何元素:图像,脚本,框架,iframe和窗口对象。

$('#whatever').load(function() {
  // Handler for .load() called.
});

在您的情况下,默认情况下隐藏元素,然后在加载绑定后在加载函数内再次显示它。

答案 1 :(得分:0)

DataTables插件具有many callback functions的钩子,您可以成功隐藏表格并使用 fnInitComplete 显示它。

答案 2 :(得分:0)

听起来这个问题类似于FOUC,所以你的答案可能类似于解决方案,即隐藏所有内容,然后在所有其他jQ运行后让jQ添加或删除一个类。