我的jQuery ready功能太早了...它还没有准备好!

时间:2010-09-03 21:44:49

标签: jquery document-ready jquery-ui-resizable

我正在添加resizable到几个div标签,这些标签是复杂页面的一部分。但$(文件).ready()如果​​执行得太早。并非所有内容都已解析且可调整大小失败。

如何让jQuery真正等到文档准备就绪?

我试过......

$(document).ready()
$(document).load()
$(window).load()

通过添加一个具有相同代码的临时按钮,我在呈现页面后单击,我得到适当的可调整大小的UI。

我正在使用jQuery v1.4.2和jQuery UI v1.8.4以及Firefox v3.6.8。

3 个答案:

答案 0 :(得分:1)

  

但$(文件).ready()如果​​执行得太早。并非所有内容都已解析且可调整大小失败。

这不应该。解析并呈现DOM时会触发ready()。唯一可以加载的是样式表(不知道如何处理)和图像。

如果您的可调整大小取决于图像是否已完全加载,请改为使用load事件。

答案 1 :(得分:1)

愚蠢应该受伤。

我还有一个正在jQuery事件之后执行的body onload事件,但resizable依赖于该事件。

答案:不要同时使用这两种方法。

答案 2 :(得分:0)

尝试使用$(window).load()而不是$(document).ready() ...这将等到每个方面都加载完成...稍慢但应该解决你的错误