代码之家  ›  专栏  ›  技术社区  ›  dacracot

我的jquery ready函数启动得太早了…还没准备好!

  •  4
  • dacracot  · 技术社区  · 16 年前

    我正在添加可调整大小的几个DIV标记,这些标记是复杂页面的一部分。但如果执行得太早,则返回$(document.ready()。并不是所有内容都已被解析,并且可调整大小失败。

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

    我试过…

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

    通过添加与这些代码相同的临时按钮(在呈现页面后单击),我得到了适当的可调整大小的UI。

    我正在使用jquery v1.4.2和jquery ui v1.8.4以及firefox v3.6.8。

    3 回复  |  直到 16 年前
        1
  •  1
  •   Pekka    16 年前

    但如果执行得太早,则返回$(document.ready()。并不是所有内容都已被解析,并且可调整大小失败。

    这不应该是。 ready() 在分析和呈现DOM时激发。唯一仍可以加载的是样式表(不知道如何处理这些样式表)和图像。

    如果调整大小取决于图像是否完全加载,请使用 load 事件代替。

        2
  •  1
  •   dacracot    16 年前

    愚蠢的人应该受伤。

    我还有一个body onload事件,它是在jquery事件之后执行的,但其大小取决于它。

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

        3
  •  0
  •   Aardvark    16 年前

    试用使用 $(window).load() 而不是 $(document).ready() …这将等待每个方面加载完成…稍微慢一点,但应该把你的虫子熨平

    推荐文章