jQuery noConflict()问题

因此,我正在开发一个平台,每次加载页面时都会注入jQuery-1.2.6。 我开发了我的页面以使用jQuery-1.4.2,所以当我的页面加载时,我的页面上有2个jQuery实例。

为了避免任何冲突,我在我的页面之外的JS文件中包含以下行:

var mc$ = jQuery.noConflict(); jQuery(function($) 

如果我在最初使用$的地方使用mc $,一切似乎都有效。

我在Firebug和IE中遇到错误,我不知道如何解决。

在我的页面加载时,在开发人员已完成的平台上注入的文件中:

  $(document).ready(function() { 

并且Firebug中的错误表明:’$不是函数’。

一旦我更改了以下内容,此错误才会显示:

 var mc$ = jQuery.noConflict(); 

我在想通过创建mc $变量来解决开发人员的$(文档)…调用。 如果是这样,我不知道如何解决这个问题,如果不是,我希望有一个解决方案,我可以将其提供给开发人员注入的文件。

谢谢!

您的部分中的致电订单必须是下一个:

  1. jQuery库№1;
  2. noConflict for it;
  3. jQuery库№2。

.noConflict()可能如下所示:

  

在脚本中使用此语法之后:

 mc$('#container').height(); 

根本原因是将两个jQuery实例加载到一个页面中。 通过它的声音,jQuery的原始实例(1.2.6)也从全局$变量中解除绑定。

从查看http://api.jquery.com/jQuery.noConflict/ ,您可以尝试为jQuery.noConflict()调用提供一个额外的参数来表示卸载jQuery,因为看起来您的1.4.2实例是在1.2.6之前加载。

除此之外,没有测试那个确切的场景我不知道还有什么其他的帮助:)

您可能会发现此答案很有用: jquery noConflict仅在IE8中不起作用