Jquery + No conflict



我相信以前有人问过类似的问题,但我的具体问题找不到答案。

  1. 我有一个html,它使用不同的jquery版本+ colorbox和一些css
  2. 我必须注入一些代码到这个html,它使用jquery v1.9和代码将不能与jquery版本高于1.9(这是奇怪的,但真实的)。
  3. 所以我正在尝试一种方法来隔离jquery v1.9noconflict,以便这段注入的代码(html元素+ javascript)使用1.9和主要的html继续做它正在做的事情:

现有的js文件使用不同版本的jquery。新注入的javascript(MYJAVASCRIPT)文件使用不同版本的jquery比上面html

正如你在上面的html中看到的,我有文件MYJAVASCRIPT需要与jquery V1.9一起运行,还有其他JS文件,如Main.js,使用不同版本的jquery

我想隔离MYJAVASCRIPT使用v1.9,而不改变现有的html

如果问题不清楚,请道歉。如果需要,我可以提供更多的输入

你有两个版本的jQuery,所以在你的jQuery版本初始化后调用jq_1_9 = $.noConflict(true);,并在你的代码中使用jq_1_9代替$。

幕后,

在所有其他版本的jquery初始化之后,1.9版本被初始化,它用自己的全局作用域覆盖$ object,调用$.noConflict(true)将全局作用域恢复到原始状态。因此,jquery v1.9丢失了所以我们将其赋值给一个变量并在需要v1.9

的地方使用它

<script src="other version"></script>
<script src="1.9 version"></script>
jq_1_9 = $.noconflict(true);
(function($){
   your functions go here;
})(jq_1_9);

最新更新