[英]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/
經過一些谷歌搜索后,我找到了一個方便的解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.