好的,我已经在网站上为朋友工作了很长时间..我的编码技巧有问题,而且我遇到了很多问题。
目前我网站上的jQuery停止工作,我找不到原因,而且我已尽我所能努力让它发挥作用。 (我已经在互联网上跟踪了无数的指南,用于排除故障等等,我仍然无法让它工作)
然后仔细查看错误后,使用浏览器控制台我发现mootools和jQuery在$
之间存在冲突。
我一直在尝试使用jQuery.noConflict()
,但我似乎无法弄清楚如何使用它。
有人可以帮助我吗?
真诚的,Malmoc
答案 0 :(得分:3)
在调用jQuery.noConflict()
之后,您只需要将jQuery对象称为jQuery
而不是$
。您的代码需要更新以反映这一点:
$(document).ready();
会变成
$.noConflict();
jQuery(document).ready();
答案 1 :(得分:2)
在您致电$.noConflict()
后,您将继续使用jQuery
。如果您想继续使用$
,可以使用闭包来实现:
// Free-up $
$.noConflict();
// Use jQuery as '$' safely
(function($){
// Fire on ready
$(function(){
alert( "Page loaded" );
});
})(jQuery);
这可以防止任何外部代码篡改闭包内的$
。
答案 2 :(得分:2)
jQuery.noConflict()将$的值恢复为以前的值。
这意味着从那时起你将不得不使用jQuery
来引用jQuery。
继续使用jQuery作为$的一种巧妙方法就是做这样的事情:
(function ($) {
// $ is actually jQuery here
$(document).ready(function () {
})
}(jQuery))
答案 3 :(得分:1)
一个简单的解决方案是将你的jQuery代码包装起来:
(function($)
$(document).ready(function() {
$('#myelementID').fadeIn(399);
//do other jQuery stuff ....
});
})(jQuery);
答案 4 :(得分:0)
$ = jQuery
jQuery = $
您遇到$,
的碰撞A. Drop Mootools or Jquery
B. Use jQuery('selector') instead of $()
C. Reference the $ to something else, buckWildProgramming = $
希望有所帮助。