由于我呈现.js脚本的顺序,我的应用程序遇到了实际问题。例如,在http://jsfiddle.net/qCAW3/1中,在我更改加载js脚本的顺序之前,这些项目将不会变为可拖动。
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
任何人都可以了解导致这种情况的原因。如果我更改顺序以使可拖动项目起作用,那么我的应用程序的其他javascript部分将停止运行。
答案 0 :(得分:1)
依赖关系,即当某些代码依赖于其他代码时。在网页上,JavaScript文件按照声明的顺序执行。哪个对依赖很重要!
假设您有两个.js
个文件,如下所示:
// person.js
var Person = function(name) {
this.name = name;
};
Person.prototype.greet = function() {
alert("Hi, " + name);
}
另一个文件:
// roster.js
var roster = [
new Person("Alex"),
new Person("Eddy")
];
for (var i = 0; i < roster.length; i++) {
roster[i].greet();
}
如果我们先加载roster.js
,它就会爆炸。 <{1}}构造函数尚不可用,无论如何调用它都会引起预期。
如果您加载Person
,然后加载person.js
,那么当名册代码运行时,您可以roster.js
。
在您的情况下,您需要在使用jQuery的任何代码之前加载jQuery,原因完全相同。
答案 1 :(得分:0)
通常,当一个文件依赖于另一个文件时,必须在之后加载。这是一般意义上的。由于您的问题以加载顺序和时间为中心,我建议您查看here。基本上,确保在完成加载所有文件之前不要执行任何操作。