2013-12-11 200 views
0

我知道$(document).ready在DOM加载后立即执行。我的问题是在加载异步JavaScript之前发生吗?我有参考DOM元素的脚本。我想确保在执行我的脚本之前,所有DOM元素和所有异步JavaScript都被加载。请注意,我的脚本也是从外部工具异步加载到浏览器端。我想将我的脚本添加到某些事件处理程序中。我不能把我的脚本放在window.onload之内,因为我必须多次使用事件处理函数(在window.onload内部附加脚本/函数也是不适用的)。 基本上我想编写可以多次使用的事件处理程序,只有在DOM和异步脚本加载后才会执行。在这种情况下,我可以使用$(document).ready吗? $(window).load可以多次加载?document.ready已加载异步js后加载?

+1

$(document).ready不会等待异步代码完成,它不会等待外部资源加载,所有它正在等待DOM准备就绪,即元素可用。 – adeneo

+0

行.. $(window).load可以写多次?例如:$(window).load(func1(){}); $(窗口).load(FUNC2(){}); – user3090914

回答

0

您可以使用RequireJS(http://requirejs.org/),它确保您的脚本正确加载。可以定义运行自定义脚本所需的依赖关系。 RequireJS将首先加载它们,并且您将避免类似“xxx is undefined”的错误