jquery中防止和其他JS框架冲突的办法
在jquery中,如果也同时引入了其他js库,而其他库也用了$符号的话,则会产生冲突,
为了防止这种情况的发生,可以使用noconflict进行避免,代码如下:
<script type="text/javascript" src="otherLib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.noConflict();
// 使用其他js库的代码
</script>
同时,也可以自定义自己的命名项目命名空间,比如项目为abc,可以这样:
ABC('contentArea').show(),而不是只使用$('contentArea').show()
当然,也有方法可以继续在jquery代码中,在冲突的时候使用$符号,可以在
ready事件中继续写:
jQuery(document).ready(function($) {
// 这里继续写$符号的代码.
});
也可以简写为:
jQuery(function($){
//...............
});
总的写法如下,当跟其他库一起用的时候:
<script type="text/javascript" src="otherLib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.noConflict();
jQuery(function($) {
// jQuery code with $.
});
// 其他js库代码.
</script>
也可以再简单点:
$.noConflict()(function(){
// jQuery code
});
// 其他js库代码.