jQuery 中 $ 避免跟其它库冲突

如果项目中除了 jQuery 库之外还有其它库,并且这个库中也有$变量,那么这个$就会和 jQuery 中的$冲突。为了避免这样的冲突,需要再加载 jQuery 库之后,立即将 jQuery 设置为no-conflict模式。

将 jQuery 设置为 no-conflict 模式后,可以给$设置个别名:

<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>var $j = jQuery.noConflict();</script>

如果还想继续是用 jQuery 的$,需要将代码包含在一个自执行的函数内,这也是一些 jQuery 插件作者的通用做法,因为这些作者并不知道项目中是否引用了其它库:

<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
jQuery.noConflict();

(function($) {
   // 这里依然可以继续使用 jQuery 的 $
})(jQuery);
</script>

via http://jqfundamentals.com/

Posted on 2012-03-06

No Comments

Leave a Comment