解决JQ命名冲突
JQ在其他库之后引用
一、用jQuery代替$
描述:$是jQuery的一个简写形式,$("aa")可以写成jQuery("aa")
用法:在需要把$的使用权转交给其他库(例如:prototype.js)的时候,写$.noConflict();,即可用jQuery代替$
<script src="prototype.js" type="text/javascript"></script> <script src="jquery-1.11.3.min.js" type="text/javascript"></script>
$.noConflict(); //把$的使用权转给其他库 jQuery(function(){ //JQ语句 jQuery("button").click(function(){ }); }); $("pp").style.display = "none"; //prototype.js的语句
二、自定义字符代替$.
写法:var 自定义字符=jQuery.noConflict();
var jq=jQuery.noConflict(); //用jq代替$. jq(function(){ jq("button").click(function(){ }); });
三、JQ依然使用$方法,其他的库也用$
写法1:
jQuery.noConflict();
jQuery(function ($) {
//正常JQ代码
})
jQuery.noConflict(); //将$的控制权交给其他库 jQuery(function ($) { //使用JQ设置页面加载时执行的函数 $("#aa").click(function () { });//正常JQ代码 }) $("pp").style.display = "none"; //prototype.js代码
写法2:
jQuery.noConflict();
(function ($) {
$(function () {
//正常JQ代码
});
})(jQuery);
jQuery.noConflict(); //将$的控制权交给其他库 (function ($) { //定义匿名函数并设置形参为$ $(function () { //匿名函数内部的$均为jQuery $("#aa").click(function () { }); //正常JQ代码 }); })(jQuery); //执行匿名函数并传递实参jQuery $("pp").style.display = "none"; //prototype.js代码
JQ在其他库之前引用
描述:可以直接用jQuery,不必再写jQuery.noConflict();