问题几乎是理论上的。但是上次我遇到了一些细微的错误。当页面包含子框架并且父框架和子框架都使用相同的js文件时,如果我一开始未设置$ = jQuery,则此js文件的功能会崩溃。这有什么窍门?
谢谢!
最佳答案
如果页面中任何地方都包含其他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
一样使用$
变量。这样您就不会发生冲突。