2012-10-24 62 views
3

好的,我一直在一個朋友的網站上工作了很長一段時間..我的編碼技能是可疑的,我一直有很多問題。

目前,我網站上的jQuery停止工作,找不到原因,並且盡我所能去嘗試使其工作。 (我跟着無數的指南遍佈互聯網,爲了排除故障等,我仍然無法讓它工作)

然後仔細查看錯誤,使用瀏覽器控制檯我發現mootools和jQuery是在$之間衝突。

我一直在嘗試使用jQuery.noConflict(),但我似乎無法弄清楚如何使用它。

任何人都可以幫助我嗎?

此致,Malmoc

回答

3

使得呼叫​​你只需要參考jQuery對象爲jQuery,而不是$後。您的代碼將需要更新,以反映這一點:

$(document).ready(); 

將成爲

$.noConflict(); 
jQuery(document).ready(); 
1

一個簡單的解決辦法是換行jQuery代碼如下所示:

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

     //do other jQuery stuff .... 
    }); 
})(jQuery); 
0

$ = jQuery的

jQuery = $

你遇到你的$的碰撞,

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

希望有所幫助。

2

調用$.noConflict()後,您將繼續使用jQuery。如果你想繼續使用$,您可以通過使用一個封閉這樣做:

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

這可以防止任何外部代碼與封閉內$篡改。

2

jQuery.noConflict()將$的值恢復到之前的值。

這意味着您將不得不使用jQuery從此之後引用jQuery。

一個巧妙的辦法,以保持使用jQuery爲$是做這樣的事情:

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

    }) 
}(jQuery)) 
相關問題