簡體   English   中英

jQuery.noConflict()與其他庫

[英]jQuery.noConflict() with other libraries

我正在使用我的Jquery應用程序以及其他JavaScript庫。 當用Google搜索時,我發現Jquery.noConflict()是避免與其他庫沖突的解決方案。 出於測試目的,我在html的head部分添加了下面給出的腳本,該腳本工作正常。

<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()的語法,請更正我。

提前致謝

我通常只需將我的所有jquery代碼包裝在此:

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

如果myJqueryScript.js由您自己的jQuery代碼組成,那么您必須在noConflict之前調用noConflict ,如var jQuery = $.noConflict(); 現在你必須使用你創建的這個jQuery變量。但是在jquery包含在你的case中的jquery-1.2.6.js后應該調用它。但是你也有prototype and mootools也使用$所以你將擁有獲得Dollar safe mode的mootools Dollar safe mode http://mootools.net/blog/2009/06/22/the-dollar-safe-mode/

經過一些谷歌搜索后,我找到了一個方便的解決方案

使用多個版本的jQuery

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM