包含两个以上的JQuery库会产生问题

时间:2011-02-19 06:14:06

标签: jquery jquery-ui jquery-plugins

我包含了这些JQuery库:

src="JQuery/jquery-1.4.2.min.js"
src="JQuery/jquery-ui-1.8.6.custom.min.js
src="JQuery/menu_login.js"
src="GjQuery/jquery-1.2.6.min.js"
src="GjQuery/jquery-ui-personalized-1.6rc2.min.js
src="GjQuery/jquery.flickr-1.0.js"
"GjQuery/jquery.flickrGallery-1.0.2.js"
<script type="text/javascript"> 
$().ready(function(){
$('#Gallery').flickrGallery({
    galleryHeight: 450
});
});
</script>

在这段代码中,我在我的Web应用程序中包含了3个JQuery库。我的Web应用程序中有两个查询才能正常工作,但是当我添加了flickr库时,它就会出现问题。问题是,当我包含flickr库时,其他两个停止工作。如果我改变了包含的顺序,那么flickr库就会停止工作,或者从其他两个工作中停止工作。任何的想法?

1 个答案:

答案 0 :(得分:1)

包含多个版本的jQuery背后的目的是什么?

如果可以的话,只使用1个(最新的希望版)。

或者,如果您使用的每个插件需要不同的版本,请使用NoConflict并确保每个插件都获得所需的正确版本。您还可以使用闭包和自调用函数仍然像正常一样使用$,同时控制您正在使用的版本。

<script src="http://code.jquery.com/jquery-1.4.2.js"></script>
<!-- other scripts that depend on 1.4.2 --->
<script>
var $.1.4.2 = $.noConflict(true);
</script>

<script src="http://code.jquery.com/jquery-1.2.6.js"></script>
<!-- other scripts that depend on 1.2.6 --->
<script>
var $.1.2.6 = $.noConflict(true);
</script>

<script>
(function($){  
  // $ in here is jQuery 1.4.2 
})($.1.4.2);

(function($){
  // $ in here is jQuery 1.2.6 
})($.1.2.6);
</script>