87,910
社区成员
发帖
与我相关
我的任务
分享
var plan={};
$(".dragItem").draggable({
//containment: "parent",
//axis: "x",
cursor: "move",
grid: [ 30, 31 ],
stop: function(data,data1) {
plan={
"planId":$(this).attr("id").replace("plan",""),
"begin":data1.position.left
}
var zj = data1.helper;
if(data1.position.left<-2){
zj.css('left',-2);
}else{
zj.css('left',data1.position.left)
};
UpdateData();
}
});
//})
function UpdateData(){
$.ajax({
type : 'post',
url : 'servlet/MyServlet',
data : JSON.stringify(plan),
//dataType : 'json',
//contentType:"application/json;charset=utf-8",
success : function (data) {
//location.reload();
//reloadDIV();
$("#MYDIV").load("tz.jsp");
},
error : function () {
}
});
};
$(".dragItem").draggable({
//containment: "parent",
//axis: "x",
cursor: "move",
grid: [ 30, 31 ],
stop: function(data,data1) {
plan={
"planId":$(this).attr("id").replace("plan",""),
"begin":data1.position.left
}
var zj = data1.helper;
if(data1.position.left<-2){
zj.css('left',-2);
}else{
zj.css('left',data1.position.left)
};
UpdateData();
}
});
//})
function UpdateData(){
$.ajax({
type : 'post',
url : 'servlet/MyServlet',
data : JSON.stringify(plan),
//dataType : 'json',
//contentType:"application/json;charset=utf-8",
success : function (data) {
//location.reload();
//reloadDIV();
$("#MYDIV").load("tz.jsp");
$(".dragItem").draggable({
//containment: "parent",
//axis: "x",
cursor: "move",
grid: [ 30, 31 ],
stop: function(data,data1) {
plan={
"planId":$(this).attr("id").replace("plan",""),
"begin":data1.position.left
}
var zj = data1.helper;
if(data1.position.left<-2){
zj.css('left',-2);
}else{
zj.css('left',data1.position.left)
};
UpdateData();
}
});
},
error : function () {
}
});
};
页面局部刷新后你需要重新执行一次拖拽事件的绑定。
测试之后确认是异步的 [quote=引用 7 楼 lqlqlq007 的回复:] $("#MYDIV").load("tz.jsp"); 执行这句对应你说的局部刷新吧?那就在$(".dragItem").draggable这里打个断点,如果走到断点的时候局部刷新的页面还没刷出来,那就是异步的,如果刷出来,就是同步的。
测试之后确认是异步的 $("#MYDIV").load("tz.jsp"); 执行这句对应你说的局部刷新吧?那就在$(".dragItem").draggable这里打个断点,如果走到断点的时候局部刷新的页面还没刷出来,那就是异步的,如果刷出来,就是同步的。
$("#MYDIV").load("tz.jsp"); 执行这句对应你说的局部刷新吧?那就在$(".dragItem").draggable这里打个断点,如果走到断点的时候局部刷新的页面还没刷出来,那就是异步的,如果刷出来,就是同步的。
2个调试方案: 1.看下执行$("#MYDIV").load("tz.jsp");是否是异步的; 2.断点看下UpdateData里的draggable绑定动作是否成功。
在你局部更新请求成功以后重新执行一次draggable,大概是这样吧,你自己再调一下。$(".dragItem").draggable({ //containment: "parent", //axis: "x", cursor: "move", grid: [ 30, 31 ], stop: function(data,data1) { plan={ "planId":$(this).attr("id").replace("plan",""), "begin":data1.position.left } var zj = data1.helper; if(data1.position.left<-2){ zj.css('left',-2); }else{ zj.css('left',data1.position.left) }; UpdateData(); } }); //}) function UpdateData(){ $.ajax({ type : 'post', url : 'servlet/MyServlet', data : JSON.stringify(plan), //dataType : 'json', //contentType:"application/json;charset=utf-8", success : function (data) { //location.reload(); //reloadDIV(); $("#MYDIV").load("tz.jsp"); $(".dragItem").draggable({ //containment: "parent", //axis: "x", cursor: "move", grid: [ 30, 31 ], stop: function(data,data1) { plan={ "planId":$(this).attr("id").replace("plan",""), "begin":data1.position.left } var zj = data1.helper; if(data1.position.left<-2){ zj.css('left',-2); }else{ zj.css('left',data1.position.left) }; UpdateData(); } }); }, error : function () { } }); };