重置document.ready($ .getScript)

时间:2011-06-28 07:17:45

标签: javascript jquery events document-ready getscript

我需要动态地通过$ .getScript包含一个脚本。

但问题是,不会执行动态包含脚本中的$(document).ready函数。 (他们动态插入不会在dom准备就绪时发生)

有没有办法强迫它这样做?举例来说,伪造一个document.ready事件?

谢谢, 韦斯利

3 个答案:

答案 0 :(得分:4)

在解决了doc ready之后,将在解析时执行任何将来的doc ready调用。

Read the API

  

传递给.ready()的处理程序是   保证在之后执行   DOM准备就绪

答案 1 :(得分:1)

通过$.getScript()定义的新处理程序缺少document.ready事件是有道理的,因为文档的DOM早先加载了。

您是否尝试$(document).trigger('ready')重新触发该事件?当然,之前注册的所有事件处理程序都会再次被调用。

答案 2 :(得分:0)

在你的包含文件中,将初始化移到另一个函数并从那里调用它:

//include js:
$(document).ready(initialise);

function initialise(){
}

在加载此文件的文件中,您只需调用initialise

触发准备就绪的主题已在SO上完全涵盖:

How to trigger $().ready() in jQuery?

Trigger $document.ready (so AJAX code I can't modify is executed)