我如何正确使用jQuery NoConflict?

时间:2012-06-14 21:35:37

标签: jquery

我正在使用两个jQuery脚本。一个用于控制网站上的下拉导航,另一个用于幻灯片显示。

一个模块前面有以下代码:

jQuery.noConflict();
(function($){
 $.fn.dropmenu = function(custom) 

另一个是这样开始的:

$(document).ready(function() {

因此,第二个中的所有功能都显示为“非功能”

由于我使用的两个脚本都是jQuery,我似乎应该能够摆脱NoConflict函数,这两个脚本可以很好地协同工作。

Sage建议欢迎。

1 个答案:

答案 0 :(得分:2)

通常$()jQuery()相同。 noConflict'释放'来自jquery的$,因此它可以被其他库使用。 因此,您可以在任何地方使用jQuery而不是$

或者你可以像他们在examples中显示并将jQuery传递到一个匿名函数中一样,你可以像往常一样再次使用$

jQuery.noConflict();
(function($) { 
  $(function() {
    // more code using $ as alias to jQuery
  });
})(jQuery);
// other code using $ as an alias to the other library

因此,您的示例中的问题是第一个插件调用noConflict(),因此第二个插件无法使用$。

您可以通过将$(document).ready()内的所有内容放在(function($){内来解决此问题。

如果您不需要,可以完全摆脱noConflict(如果您没有使用任何其他使用$的库)。