1

由于渲染 .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 部分将停止运行。

4

2 回答 2

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先加载,它会爆炸。构造Person函数尚不可用,无论如何调用它都会引发期望。

如果您先加载person.js,然后再加载roster.js,那么Person当花名册代码运行时,您就可以使用。


在您的情况下,出于完全相同的原因,您需要在任何使用 jQuery 的代码之前加载 jQuery。

于 2013-06-13T21:17:56.233 回答
0

通常,当一个文件依赖于另一个文件时,必须在之后加载它。这是在一个非常普遍的意义上。由于您的问题集中在加载顺序和时间上,我建议您看这里。基本上,确保在所有文件都依赖于完成加载之前不执行任何操作。

于 2013-06-13T21:12:11.910 回答