使用jQuery noconflict和两个版本的jQuery

问题是如果你想在页面上使用otherLibrary,$必须是otherLibrary的$,而不是jQuery。 因为$只是jQuery的别名,所以jQuery提供了noConflict函数,作为告诉jQuery将$的控制权返回到jQuery加载之前的任何内容的方法。

我在另一个问题上读到了这个。 我正在对当前使用jQuery 1.3.2的网站进行更改,该网站无法更新,以及其他库。 它目前使用noConflict,因此必须使用jQuery代替$ 。 我需要运行一个新版本的jQuery,以便添加到页面中。

如何调用第二个jQuery库并使用noConflict将新别名与其关联? 因此jQuery适用于1.3.2,新别名适用于第二个jQuery,而$适用于其他所有内容?

引用api中的示例,添加了插件:

         

Before $.noConflict(true)

这是一个非常简化的版本,当你调用没有冲突时,jQuery里面会发生什么。

 // including first version of jQuery: window._foo = window.foo; // undefined window.foo = "1.9.1"; // 1.9.1 // including second version of jQuery: window._foo = window.foo; // 1.9.1 window.foo = "1.3.2"; // 1.3.2 // now when you do noConflict, this happens: function noConflict() { var ret = window.foo; // 1.3.2 window.foo = window._foo; // 1.9.1 return ret; // 1.3.2 } foo132 = noConflict(); // 1.3.2 alert(foo132); //1.3.2 alert( foo ); // 1.9.1