好的,我一直在一個朋友的網站上工作了很長一段時間..我的編碼技能是可疑的,我一直有很多問題。
目前,我網站上的jQuery停止工作,找不到原因,並且盡我所能去嘗試使其工作。 (我跟着無數的指南遍佈互聯網,爲了排除故障等,我仍然無法讓它工作)
然後仔細查看錯誤,使用瀏覽器控制檯我發現mootools和jQuery是在$
之間衝突。
我一直在嘗試使用jQuery.noConflict()
,但我似乎無法弄清楚如何使用它。
任何人都可以幫助我嗎?
此致,Malmoc
好的,我一直在一個朋友的網站上工作了很長一段時間..我的編碼技能是可疑的,我一直有很多問題。
目前,我網站上的jQuery停止工作,找不到原因,並且盡我所能去嘗試使其工作。 (我跟着無數的指南遍佈互聯網,爲了排除故障等,我仍然無法讓它工作)
然後仔細查看錯誤,使用瀏覽器控制檯我發現mootools和jQuery是在$
之間衝突。
我一直在嘗試使用jQuery.noConflict()
,但我似乎無法弄清楚如何使用它。
任何人都可以幫助我嗎?
此致,Malmoc
使得呼叫你只需要參考jQuery對象爲jQuery
,而不是$
後。您的代碼將需要更新,以反映這一點:
$(document).ready();
將成爲
$.noConflict();
jQuery(document).ready();
一個簡單的解決辦法是換行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 = $
希望有所幫助。
調用$.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))