避免jQuery名字冲突 noConflict()方法
众所周知,在jQuery语法中,$符号是jQuery的简写方式。但在某些情况下,可能需要在同一个页面引入其他javascript库(比如Prototype)。因为$简短方便,很多的库也是使用$符号。为了避免名称冲突,jQuery提供了noConflict()方法来解决这个问题。调用该方法可以把对$标识符的控制权让给其他库。
一般模式:
<script src="prototype.js"></script>//1.包含jQuery之外的库(比如Prototype) <script src="jquery.js"></script>//2.包含jQuery库取得对$的使用权 <script> jQuery.noConflict();//3.调用noConflict()方法,让出$,把控制权让给最先包含的库 </script> <script src="myscript.js"></script>
让出$控制权后,需要使用jQuery方法时,则不能用$来调用了,要用jQuery。或者通过定义新的名称来代替$符号。
var jq=jQuery.noConflict();
另外还有一个技巧,可以再.ready()方法中使用$。它的回调函数可以接收一个参数,这个参数为jQuery对象本身,可以重新命名jQuery为$,这样也是不会造成冲突的。
jQuery.(document).ready(function($){ //这里可以正常使用$ })
当然,简写方式也是可以的
jQuery(function($){ //这里可以正常使用$ })
以上就是本文的全部内容,希望对大家学习jquery避免冲突方法有所帮助。
相关文章
TextArea不支持maxlength的解决办法(jquery)
自己写了一个jquery的扩展,这样就可以很容易实现对textarea控制最大长度了。2011-09-09JQuery Tips(4) 一些关于提高JQuery性能的Tips
如今咱祖国已经崛起了..电脑的配置也是直线上升.可是js的性能问题依然不可小觑..尤其在万恶的IE中..js引擎速度本来就慢..如果JS如果再写不好,客户端多开几个窗口假死肯定是家常便饭了.废话不说了,下面说说js性能提升的一些小Tips.2009-12-12详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
本篇文章主要介绍了jQuery同步Ajax带来的UI线程阻塞问题及解决办法,具有一定的参考价值,有兴趣的可以了解一下2017-08-08
最新评论