2 qq 27016203 qq_27016203 于 2016.04.28 11:09 提问

关于JS引用冲突的问题

我前台用easyui 引用了http://code.jquery.com/jquery-1.6.min.js 然后因为做联想查询又引用了http://code.jquery.com/jquery-1.9.1.js 但是这两个JS冲突 结果报错TypeError: $(...).datagrid is not a function

报错地方代码如下$(function(){
//双击查询整条详细信息
$('#weatherInfo').datagrid({
onDblClickRow:function(rowIndex){
$('#weatherInfo').datagrid('getSelected',rowIndex);
$('#weatherDialog').dialog('open').dialog('center').dialog('setTitle','编辑');
var row = $('#weatherInfo').datagrid('getSelected');
if(row){
$('#weatherForm').form('load',row);
url = 'ssh/updateWeatherInfo?weatherId='+row.weatherId;
}
}
});
});
求大神指点

7个回答

u012758945
u012758945   2016.04.28 13:30

不建议同时引用多个个JQuery版本,因为在同一上下文中只有一个JQuery,每次引用都会重新定义JQuery
所以后面引用的JQuery会覆盖前面的JQuery,之前JQuery中增加的扩展成员(例如某些基于JQuery插件)会无效。
多数情况下优先使用高版本的。

jhfsdfs
jhfsdfs   2016.04.28 14:56

用高版本就好的了啊,为什么要引入两个

CSDNXIAOD
CSDNXIAOD   2016.04.28 11:22

js与jquery冲突问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

showbo
showbo   Ds   Rxr 2016.04.29 09:04

去掉冬天加载页面里面加载jquery框架的script标签,要不jquery会被重新加载覆盖原来已经导入的jquery的扩展而报错

cjyfyqp
cjyfyqp   2016.04.30 19:29

jq不是有个noConflict方法是解除冲突的

wf_Wind
wf_Wind   2016.05.03 20:16

挺简单的,你用引入一个amd管理器,什么requirejs,seajs,esl等等都行,想用哪个版本用哪一个,而且跟第三方引入的完成没有冲突.....但是一般来说,你引用个最新的就好。

ovsexia
ovsexia   2016.05.05 15:13
var $6 = $; var $10 = $;

引入jq后加上 var $6 = $; var $10 = $; 然后你写代码的时候把 $全部替换成$6或$10,例如:
function show()
{
$6('div').fadeIn(150);
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于js包的引入顺序问题
关于此问题,本来是个很简单的问题,结果容易被忽略:在引入js包的时候,先引入的jsrender.js,后引入jQuery.js,导致浏览器无法渲染数据,并且jsrender.js 的方法也会找不到:结果:后改为:结果可以正常显示数据:...
在页面引入js文件冲突问题(注意js文件导入的顺序)
刚才朋友 问我引入的js 有冲突问题,发现是引入顺序导致有相引用关系的,被引用到的一定要在引用的js文件前被倒入 问题如下: 一, 没有依赖关系的,先后顺序没有影响(第三种情况下除外)二, 有依赖关系的,必须先加载被依赖的那个js,比如jquery库要在所有jquery语句前加载三, js之间存在关键字冲突,可以通过调换加载顺序解决这个问题
jQuery解决引用多个JavaScript库引起的$命名冲突的问题
在某些情况下,我们可能会在一个页面中使用多个JavaScript库,由于多个库中都是用$标识符,因此我们需要一种解决该命名冲突的方法,jQuery的noConflict()方法很好的解决了这个问题。jQuery调用该方法会把对$标识符的控制权限让渡给其他库使用。   参考示例如下: script src="prototype.js">script> 引用的库1 -->
JS的覆盖特性来解决文件冲突问题,css的加载问题
随着项目规模的增大,协作开发也越来越长见,协作开发时间久了就会遇到一个恶心的文件冲突问题。 假设一个HTML文件引用了两个外部JS文件,而这两个外部JS文件你没有修改的权限,你只有HTML文件的修改权限, 两个外部JS文件都定义了window.onload事件。代码假设如下: a.js的文件内容: window.onload=function(){ alert("这是a.js
使用amazeui.min.js时要注意的地方
amazeui.min.js 与 bootstrap.min.js 冲突,两个框架一起使用会产生一些奇怪的错误。
解决jquery和其他js包冲突的情况
在jQuery库中,几乎所有的插件都被限制在它的命名空间里。全局的对象都很好地存储在jQuery命名空间里,因此当把jQuery和其它javascript类库一起使用时,不会引起冲突. (注意:默认情况下,jQuery用$作为自身的缩写而以)  如果jQuery类库和别的类库冲突的话,可以使用jQuerynoConflict()函数来将变量$的控制权移交出给其它的javaScipt库。
discuz论坛加载jquery冲突的解决
在discuz论坛加载jquery.js会导致discuz本身的js错误,从而很多功能不能使用。比如发帖回帖中的表情,一些弹出的div也将不能使用。 解决的方法如下: 首先,在页面加载jquery.js需要在所有js加载的前面,也就是必须第一个加载它。 然后加载一个解决冲突的js,其他顺序根据自己需要来做。解决冲突的js只有一句如下: jQuery.noConflict()
jquery与其它js文件冲突解决办法
参考了网上的资料,终于找解决方式:
同时引入多个js发生冲突
同时引入多个js发生冲突
jquery使用$与其它js框架的冲突解决办法
jQuery 使用 $ 符号作为 jQuery 的简介方式。 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。 jQuery 使用名为 noConflict() 的方法来解决该问题。 var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。   var jq=jQuery.noCo