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