我的拖动代码是这样的
function mousedown(obj){
vhtml=$("info_menu").innerHTML;
currentMoveObj = $(obj); //alert("obj:"+obj+"currentMoveObj"+currentMoveObj); //当对象被按下时,记录该对象
xtime=setTimeout(mouseup,1200);
}
window.document.onmousemove = function(){
x=event.x;
y=event.y;
}
function mouseup(){
if(currentMoveObj != null){
//LIST里面的控件对比
//var x=event.x;
//var y=event.y;
var a = $('info_menu').childNodes;
for (var i=0; i<a.length; i++) {
var column_offsets = getCoordinate(a[i]);
if (x>=column_offsets.left && x<=column_offsets.right && y>=column_offsets.top && y<=column_offsets.bottom) {
onid=a[i];
a[i].style.border = "1px dotted #ffffff";
break;
}
}
//控件交换
if (onid != null){
var HTML = currentMoveObj.innerHTML; //alert("onid.innerHTML"+onid.innerHTML);
var HTML_id = currentMoveObj.id;
var object=currentMoveObj;
currentMoveObj.innerHTML=onid.innerHTML;
currentMoveObj.id=onid.id;
onid.innerHTML=HTML;
var indexNum = HTML_id.lastIndexOf('x');
var moveID = HTML_id.substring(indexNum+1); //当前编辑的主ID
var movedID =currentMoveObj.id.substring(indexNum+1); //当前编辑的主ID
onid=null;
currentMoveObj=null;
}
}
}setTimeout有很多问题啊,比如event会获取不到,还有拖动成功一次后在拖动一次后,在刚刚拖动的divcurrentMoveObj = $(obj); 的currentMoveObj 就获取不到了,为null。请问还有什么其他办法同时实现点击与拖动
function mousedown(obj){
vhtml=$("info_menu").innerHTML;
currentMoveObj = $(obj); //alert("obj:"+obj+"currentMoveObj"+currentMoveObj); //当对象被按下时,记录该对象
xtime=setTimeout(mouseup,1200);
}
window.document.onmousemove = function(){
x=event.x;
y=event.y;
}
function mouseup(){
if(currentMoveObj != null){
//LIST里面的控件对比
//var x=event.x;
//var y=event.y;
var a = $('info_menu').childNodes;
for (var i=0; i<a.length; i++) {
var column_offsets = getCoordinate(a[i]);
if (x>=column_offsets.left && x<=column_offsets.right && y>=column_offsets.top && y<=column_offsets.bottom) {
onid=a[i];
a[i].style.border = "1px dotted #ffffff";
break;
}
}
//控件交换
if (onid != null){
var HTML = currentMoveObj.innerHTML; //alert("onid.innerHTML"+onid.innerHTML);
var HTML_id = currentMoveObj.id;
var object=currentMoveObj;
currentMoveObj.innerHTML=onid.innerHTML;
currentMoveObj.id=onid.id;
onid.innerHTML=HTML;
var indexNum = HTML_id.lastIndexOf('x');
var moveID = HTML_id.substring(indexNum+1); //当前编辑的主ID
var movedID =currentMoveObj.id.substring(indexNum+1); //当前编辑的主ID
onid=null;
currentMoveObj=null;
}
}
}setTimeout有很多问题啊,比如event会获取不到,还有拖动成功一次后在拖动一次后,在刚刚拖动的divcurrentMoveObj = $(obj); 的currentMoveObj 就获取不到了,为null。请问还有什么其他办法同时实现点击与拖动
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货