我需要通过 $.getScript 动态包含一个脚本。
然而,问题是,该动态包含的脚本中的 $(document).ready 函数没有被执行。(它们的动态插入不会在 dom 就绪时发生)
有没有办法强迫它这样做?例如,通过伪造 document.ready 事件?
谢谢,韦斯利
我需要通过 $.getScript 动态包含一个脚本。
然而,问题是,该动态包含的脚本中的 $(document).ready 函数没有被执行。(它们的动态插入不会在 dom 就绪时发生)
有没有办法强迫它这样做?例如,通过伪造 document.ready 事件?
谢谢,韦斯利
在您的包含文件中,将初始化移到另一个函数并从那里调用它:
//include js:
$(document).ready(initialise);
function initialise(){
}
这在加载这个的文件中你需要做的就是调用initialise
SO已经很好地涵盖了触发就绪事件的主题:
$.getScript()
由于文档的 DOM 较早完成加载,因此定义的新处理程序缺少 document.ready 事件是有道理的。
您是否尝试过$(document).trigger('ready')
重新触发该事件?当然,之前注册的所有事件处理程序都会被再次调用。