问题几乎是理论上的。但上次我遇到了一些微妙的错误。当页面包含子框架并且父子框架都使用同一个js文件时,如果我没有在开始时设置$ = jQuery,这个js文件的功能就会崩溃。这里有什么诀窍?
谢谢!
问题几乎是理论上的。但上次我遇到了一些微妙的错误。当页面包含子框架并且父子框架都使用同一个js文件时,如果我没有在开始时设置$ = jQuery,这个js文件的功能就会崩溃。这里有什么诀窍?
谢谢!
除非您从$
变量中删除了引用,否则不需要这样做。
检查您是否在某处使用noConflict方法将 jQuery 与$
变量分离,或者使用其他名称(如函数)命名$
.
如果页面中的任何位置包含其他 JavaScript 库,它们可能会使用$
. Mootools和Prototype都使用$
.
如果您包含 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
像使用$
. 这样你就不会发生冲突。