2012-09-13 64 views
1

我用我的jQuery的應用程序與其他JavaScript庫以及其他庫。當使用Google時,我開始知道Jquery.noConflict()是避免與其他庫衝突的解決方案。爲了測試目的,我在html的head部分添加了下面給出的腳本,它工作正常。jQuery.noConflict()與

<script type="text/javascript" src="includes/myJqueryScript.js"></script> 
<script type="text/javascript"> 
    jQuery.noConflict(); 
</script> 

<script type="text/javascript" src="js/jquery-1.2.6.js"></script> 
<script type="text/javascript" src="js/mootools-core-1.4.5-full-compat.js"></script> 
<script type="text/javascript" src="js/mootools-core-1.4.5-full-nocompat.js"></script> 
<script type="text/javascript" src="js/prototype-1.5.js"></script> 
<script type="text/javascript" src="js/prototype-1.7.1.0.js"></script> 

但在某些情況下它可能會在下面給出的其他庫的底部,這是矛盾的。

<script type="text/javascript" src="js/jquery-1.2.6.js"></script> 
<script type="text/javascript" src="js/mootools-core-1.4.5-full-compat.js"></script> 
<script type="text/javascript" src="js/mootools-core-1.4.5-full-nocompat.js"></script> 
<script type="text/javascript" src="js/prototype-1.5.js"></script> 
<script type="text/javascript" src="js/prototype-1.7.1.0.js"></script> 

<script type="text/javascript" src="includes/myJqueryScript.js"></script> 
<script type="text/javascript"> 
    jQuery.noConflict(); 
</script> 

這意味着我的腳本會在其他庫被調用之前或之後。有沒有解決這個問題的好方法。如果這不是Jquery.noConflict()的語法,請糾正我。

在此先感謝

+0

啊,反正,它似乎是在沒有你的控制...我不知道這些網頁是怎麼建的?看起來有一些服務器代碼決定了要附加的腳本;你能在這裏展示一些嗎? – raina77ow

+0

raina,其實我的代碼是用來填充一個彈出窗口小部件。當用戶點擊頁面上的按鈕時,我將調用這個JQuery代碼。由於該頁面已經加載,因此可能包含其他庫,因此會導致衝突。 – Shah

回答

4

我通常只是包裹在這一切我jQuery代碼:

(function($){ 
    //use jquery $() here 
})(jQuery); 
+0

+1,因爲這個方法一般都很好。但是它可能無法解決OP的問題,因爲如果用戶腳本在庫之前,那麼'jQuery'不會被定義。另外,OP可能想在這裏使用另一個庫,並且'他們'的'$'將在這裏丟失。 – raina77ow

+0

是@ raina77ow那情況 – Shah

0

如果myJqueryScript.js包括你自己的jQuery代碼,那麼你必須在那之前像var jQuery = $.noConflict();現在你已經調用noConflict使用這個jQuery變量,你created.But應該叫了jQuery已經包含在您的case.But你也有prototype and mootools也使用$所以您將獲得mootool的Dollar safe modejquery-1.2.6.js後小號http://mootools.net/blog/2009/06/22/the-dollar-safe-mode/

+0

感謝techie_28但我不能處理任何東西,除了我的劇本由於剩下的事情來了作爲第三方的代碼 – Shah

相關問題