解决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();

posted @ 2017-05-25 09:55  念念念不忘  阅读(200)  评论(0)    收藏  举报