避免jQuery名字冲突 noConflict()方法

众所周知,在jQuery语法中,$符号是jQuery的简写方式。但在某些情况下,可能需要在同一个页面引入其他javascript库(比如Prototype)。因为$简短方便,很多的库也是使用$符号。为了避免名称冲突,jQuery提供了noConflict()方法来解决这个问题。调用该方法可以把对$标识符的控制权让给其他库。

一般模式:

<script src="https://www.jb51.net/prototype.js"></script>//1.包含jQuery之外的库(比如Prototype) <script src="https://www.jb51.net/jquery.js"></script>//2.包含jQuery库取得对$的使用权 <script> jQuery.noConflict();//3.调用noConflict()方法,让出$,把控制权让给最先包含的库 </script> <script src="https://www.jb51.net/myscript.js"></script>

让出$控制权后,需要使用jQuery方法时,则不能用$来调用了,要用jQuery。或者通过定义新的名称来代替$符号。

var jq=jQuery.noConflict(); 

另外还有一个技巧,可以再.ready()方法中使用$。它的回调函数可以接收一个参数,这个参数为jQuery对象本身,可以重新命名jQuery为$,这样也是不会造成冲突的。

jQuery.(document).ready(function($){ //这里可以正常使用$ })

当然,简写方式也是可以的

jQuery(function($){ //这里可以正常使用$ })

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzxsfy.html