3

好吧,我已经在一个朋友的网站上工作了很长一段时间。我的编码技能是有问题的,而且我遇到了很多问题。

目前,我网站上的 jQuery 只是停止工作,我找不到原因,我已尽我所能尝试让它工作。(我在互联网上遵循了无数指南,用于故障排除等,但我仍然无法让它工作)

然后在仔细查看错误后,使用浏览器控制台我发现 mootools 和 jQuery 在$.

我一直在尝试使用jQuery.noConflict(),但我似乎无法弄清楚如何使用它。

有人可以帮我吗?

此致,马尔莫克

4

5 回答 5

3

调用后,jQuery.noConflict()您只需将 jQuery 对象引用为jQuery而不是$. 您的代码需要更新以反映这一点:

$(document).ready();

会成为

$.noConflict();
jQuery(document).ready();
于 2012-10-24T00:45:06.930 回答
2

调用$.noConflict()后,您将继续使用jQuery。如果您想继续使用$,可以使用闭包来实现:

// Free-up $
$.noConflict();
// Use jQuery as '$' safely
(function($){
    // Fire on ready
    $(function(){
        alert( "Page loaded" );
    });
})(jQuery);

这可以防止任何外部代码篡改$闭包内的代码。

于 2012-10-24T00:47:25.720 回答
2

jQuery.noConflict() 将 $ 的值恢复为之前的值。

jQuery这意味着从那时起您将不得不使用来引用 jQuery。

继续使用 jQuery 作为 $ 的一种巧妙方法是执行以下操作:

(function ($) {
    // $ is actually jQuery here
    $(document).ready(function () {

    })
}(jQuery))
于 2012-10-24T00:47:40.737 回答
1

一个简单的解决方案是像这样包装你的 jQuery 代码:

(function($)
    $(document).ready(function() {
        $('#myelementID').fadeIn(399);

        //do other jQuery stuff ....
    });
})(jQuery);
于 2012-10-24T00:47:10.300 回答
0

$ = jQuery

jQuery = $

您遇到的 $ 碰撞,

A. Drop Mootools or Jquery
B. Use jQuery('selector') instead of $()
C. Reference the $ to something else, buckWildProgramming = $

希望有帮助。

于 2012-10-24T00:47:25.650 回答