1

问题几乎是理论上的。但上次我遇到了一些微妙的错误。当页面包含子框架并且父子框架都使用同一个js文件时,如果我没有在开始时设置$ = jQuery,这个js文件的功能就会崩溃。这里有什么诀窍?

谢谢!

4

2 回答 2

3

除非您从$变量中删除了引用,否则不需要这样做。

检查您是否在某处使用noConflict方法将 jQuery 与$变量分离,或者使用其他名称(如函数)命名$.

于 2011-08-15T09:59:44.947 回答
3

如果页面中的任何位置包含其他 JavaScript 库,它们可能会使用$. MootoolsPrototype都使用$.

如果您包含 jQuery,然后您包含 Prototype,则该$变量将被覆盖,因此您必须$ = jQuery在任何 jQuery 代码工作之前进行设置:

<link rel="stylesheet" href="jQuery.js" />
<link rel="stylesheet" href="prototype.js" />
<script>$ = jQuery</script>

同样,正如@Guffa 所说,如果您在任何地方调用noConflict,它将取消设置$变量。

理想情况下,我认为您不应该使用该$变量,因为它可能会导致问题。只需执行以下操作:

jQuery.noConflict();
var jQ = jQuery;

然后jQ像使用$. 这样你就不会发生冲突。

于 2011-08-15T10:03:29.190 回答