Javascript 如何让旧的jquery代码与新版本的jquery一起工作?
相关:Javascript 如何让旧的jquery代码与新版本的jquery一起工作?,javascript,jquery,Javascript,Jquery,相关: 我有一个使用了很多jquery的页面,我有一个拖放功能,可以将位置保存到mysql数据库中。 我的jquery文件大约有2年的历史了,今天我尝试使用一个更新的版本,因为我想使用一个脚本,但它只适用于jquery过去一年中的更新版本 在我安装了较新版本的jquery之后,我的拖放操作就不起作用了,除了我的拖放代码之外,我的页面上的其他所有操作都起作用了。它部分起作用 “我的页面”有两列,您可以在两列之间拖动项目,但现在它只拖动左列,而右列中的项目不会移动 左列中不移动的项目将找不到放置位
我有一个使用了很多jquery的页面,我有一个拖放功能,可以将位置保存到mysql数据库中。 我的jquery文件大约有2年的历史了,今天我尝试使用一个更新的版本,因为我想使用一个脚本,但它只适用于jquery过去一年中的更新版本 在我安装了较新版本的jquery之后,我的拖放操作就不起作用了,除了我的拖放代码之外,我的页面上的其他所有操作都起作用了。它部分起作用 “我的页面”有两列,您可以在两列之间拖动项目,但现在它只拖动左列,而右列中的项目不会移动 左列中不移动的项目将找不到放置位置,因此在释放时项目将丢失。我的代码中的ajax部分仍然在工作,因为当我“丢失”一个条目时,它会更新数据库,并且该页面上的条目列表中会丢失条目ID号 如何让较旧的jquery代码正常工作? 这是我的密码
<script>
var _x;
var _y;
var _pos;
if(document.all){document.body.onload=b_onload;}
else{document.body.setAttribute("onload","b_onload()");}
function b_onload(){
$('#columns td.portlet_td').each(function(i){
$(this).children("br").remove();
});
$('#columns td.portlet_td').Sortable(
{
accept: 'portlet',
helperclass: 'sort_placeholder',
activeclass : 'sortableactive',
opacity: 0.7,
tolerance: 'touch',
handle:'.drag-handler',
onStop:function(){
var x = getPos();
if(!$("#lgif").get(0)){
$('<i'+'mg id="lgif" src="images/loading.gif" style="display:block;position:absolute;top:500px;left:50%;" />').appendTo('body');
}
var __top = (document.body && document.body.scrollTop)?(document.body.scrollTop):((document.documentElement && document.documentElement.scrollTop)? document.documentElement.scrollTop: 0);
$("#lgif").css({top:__top+'px'});
$("#lgif").show();
$.getJSON(
'/member/beta/saveposition.php',
{
uid:(USER.ID),
position:x
},
function(json){
$("#lgif").hide();
}
);
}
}
);
};
function resetPos(){
$.getJSON(
'/member/beta/saveposition.php',
{
uid:(USER.ID),
position:"0:0|0:1|0:2|0:3|0:4|0:5|0:6|1:7|1:8|1:9|1:10|1:11|1:12|1:13|1:14|1:15|1:16|"
},
function(json){
$("#lgif").hide();
}
);
}
function getPos(){
_pos="";
$('#columns td.portlet_td').each(function(i){
_x=i;
$(this).children(".portlet").each(function(j){
_y=j;
var index = this.getAttribute("id").split('id')[1] - 100;
var pos=_x+":"+index;
_pos+=pos+"|";
});
});
return _pos;
}
</script>
var_x;
var_y;
var_pos;
如果(document.all){document.body.onload=b_onload;}
else{document.body.setAttribute(“onload”,“b_onload()”);}
函数b_onload(){
$('#columns td.portlet_td')。每个(函数(i){
$(this.children(“br”).remove();
});
$('#columns td.portlet_td')。可排序(
{
接受:“portlet”,
helperclass:“排序\占位符”,
activeclass:“sortableactive”,
不透明度:0.7,
宽容:“触摸”,
句柄:'.drag处理程序',
onStop:function(){
var x=getPos();
如果(!$(“#lgif”).get(0)){
$('')。附于('正文');
}
var__top=(document.body和document.body.scrollTop)?(document.body.scrollTop):((document.documentElement和document.documentElement.scrollTop)?document.documentElement.scrollTop:0);
$(“#lgif”).css({top:u top+'px});
$(“#lgif”).show();
$.getJSON(
“/member/beta/saveposition.php”,
{
uid:(USER.ID),
位置:x
},
函数(json){
$(“#lgif”).hide();
}
);
}
}
);
};
函数resetPos(){
$.getJSON(
“/member/beta/saveposition.php”,
{
uid:(USER.ID),
位置:“0:0 | 0:1 | 0:2 | 0:3 | 0:4 | 0:5 | 0:6 | 1:7 | 1:8 | 1:9 | 1:11 | 1:12 | 1:13 | 1:14 | 1:15 |1:16 |”
},
函数(json){
$(“#lgif”).hide();
}
);
}
函数getPos(){
_pos=“”;
$('#columns td.portlet_td')。每个(函数(i){
_x=i;
$(this).children(“.portlet”).each(函数(j){
_y=j;
var index=this.getAttribute(“id”).split(“id”)[1]-100;
var pos=x+“:”+索引;
_pos+=pos+“|”;
});
});
返回位置;
}
还请注意,我的jquery版本需要另一个名为interface的文件才能正常工作,该接口文件与新的jquery版本不兼容,因此新的jquery可能需要添加其他文件才能拖放工作?因为您从未说过制作时使用的是哪个版本的jquery,从那时起,我们没有参考点来了解实际发生了多少变化。最好的办法就是重写它,自从JQuery的旧版本以来,已经发生了一长串的更改 是的,这是对OP问题的回答吗?这是最后一种手段,如果无法修复新版本的代码…请确保单击将此答案标记为正确答案的复选框。