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

众所周知,在jQuery语法中,$符号是jQuery的简写方式。但在某些状况下,可能须要在同一个页面引入其余javascript库(好比Prototype)。由于$简短方便,不少的库也是使用$符号。为了不名称冲突,jQuery提供了noConflict()方法来解决这个问题。调用该方法能够把对$标识符的控制权让给其余库。javascript

  通常模式:java

<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。或者经过定义新的名称来代替$符号。jquery

var jq=jQuery.noConflict();

 

另外还有一个技巧,能够再.ready()方法中使用$。它的回调函数能够接收一个参数,这个参数为jQuery对象自己,能够从新命名jQuery为$,这样也是不会形成冲突的。函数

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

固然,简写方式也是能够的spa

jQuery(function($){
   //这里能够正常使用$ 
})
相关文章
相关标签/搜索