我正在使用我的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()的语法,请更正我。
提前致谢
答案 0 :(得分:4)
我通常只将我的所有jquery代码包装在其中:
(function($){
//use jquery $() here
})(jQuery);
答案 1 :(得分:0)
如果myJqueryScript.js
由您自己的jQuery代码组成,那么您必须先调用noConflict
var jQuery = $.noConflict();
现在必须使用您创建的jQuery
变量。但是它应该在jquery被包含在jquery-1.2.6.js
之后调用。但是你也有prototype and mootools
也使用$所以你必须得到一个Dollar safe mode
mootools {{3} }}
答案 2 :(得分:0)
经过一些谷歌搜索后,我找到了一个方便的解决方案