jquery冲突

      今天修改一个项目发现,前辈们自己写的一些方法和jquery冲突了,也就是$的冲突,以至于自己用jquery编写的新功能无法正常使用,细究后发现解决办法如下:使用 noConflict() 方法为 jQuery 变量规定新的名称,比如:

1 var j=$.noConflict();

运行这个函数将变量$的控制权让渡给第一个实现它的那个库。这有助于确保jQuery不会与其他库的$对象发生冲突。在运行这个函数后,就只能使用j变量访问jQuery对象。例如,在要用到$("#tab")的地方,就必须换成j("#tab")。

再来个事例:

 1 var j = jQuery.noConflict();
 2 j(function(){
 3   j("#all").click(function(){
 4      j(".batch").each(function(){
 5         j(this).attr("checked", !j(this).attr('checked'));
 6      });
 7    });
 8    j(":button").click(function(){
 9      var arrBatch = new Array();
10     j(".batch:checked").each(function(){
11        arrBatch.push(j(this).val());
12     });
13     if(arrBatch.length == 0){
14        alert('你什么也没选中');
        return false;
15    }else{ 16    if(confirm('确定要作废选中项?')){ 17     j.post('desh_ajax.php',{action:3,items:arrBatch},function(){ 18     j("#searchitem").submit(); 19     }); 20    }else{ 21     return false; 22   } 23 } 24   }); 25 });

noConflict()更多用法参考:http://www.w3school.com.cn/jquery/core_noconflict.asp

注意:这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库之前使用.当然也应当在其他冲突的库被使用之前,除非jQuery是最后一个导入的。

原文地址:https://www.cnblogs.com/shlhm/p/3218746.html