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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!