首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在同一个页面上使用两个不同的jquery版本

问在同一个页面上使用两个不同的jquery版本
EN

Stack Overflow用户
提问于 2010-04-19 14:21:14
回答 3查看 941关注 0票数 1

我将这个jquery插件用于旋转木马控制器http://sorgalla.com/projects/jcarousel/,它基于jquery版本1.2.1

我还需要在页面上有标签,但是当在页面中包含当前的jquery版本时,carousel停止工作。

有没有办法让它们同时出现在同一个页面上,或者有没有办法让标签页在realease 1.2.1下工作?

我不想在另一个插件上重建carousel,因为这个插件已经换了皮肤,并且可以根据需要工作。

我尝试使用jQuery.noConflict,jcarousel控制器仍然不起作用。

EN

回答 3

Stack Overflow用户

发布于 2010-04-19 15:01:41

你还可以使用其他的tons插件(this one看起来很不错)。有没有什么理由你需要使用那个特定的呢?如果没有,我建议你省去很多麻烦,直接换个不同的插件。

否则,jQuery.noConflict应该可以工作。如果没有,那就把你正在使用的代码贴出来,这样我们就可以告诉你哪里出了问题。

票数 1
EN

Stack Overflow用户

发布于 2010-04-19 15:03:33

很遗憾地说,您需要花时间a)修复旧的插件以在新版本的jQuery上工作,或者b)切换到可以在新版本的jQuery上工作的旋转木马。在一个站点上包含两个版本的jQuery是bad practice,您稍后会自找麻烦,但这不是不可能的。

你可以这样做:

代码语言:javascript
复制
<script type="text/javascript" src="/js/jquery-1.2.1.js"></script>
<script type="text/javascript" src="/js/oldcarousel.js"></script>
<script type="text/javascript">jQuery12 = jQuery.noConflict();</script>
<script type="text/javascript" src="/js/jquery-1.4.2.js"></script>

假设oldcarousel.js使用闭包(意味着代码的第一行和最后一行如下所示):

代码语言:javascript
复制
(function($){
  // and that all plugin code in here references $ not jQuery
})(jQuery); 

在1.4覆盖之后,它应该能够“坚持”到jQuery 1.2。

更改包含顺序也是可行的:您可以这样做:

代码语言:javascript
复制
<script type="text/javascript" src="/js/jquery-1.4.2.js"></script>
<script type="text/javascript" src="/js/jquery-1.2.1.js"></script>
<script type="text/javascript" src="/js/oldcarousel.js"></script>
<script type="text/javascript">jQuery12 = jQuery.noConflict(true);</script>

因为将true传递给.noConflict()应该会从新版本恢复$和jQuery别名。

票数 1
EN

Stack Overflow用户

发布于 2010-04-19 14:50:49

jQuery API docs上的这篇文章可能会对您有所帮助:jQuery.noConflict。

祝您今天愉快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2665496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档