因为要实现拖拽后把拖拽的行和被拖拽的行更新到数据库中,所以只需要获取源行和目标行就行。下面的代码其实是可以识别源行和目标行的,但是拖拽的效果没有出来。网上看到其它人写的都很复杂,而且都用到了setCapture和releaseCapture,但其过程都需要计算坐标,我觉得拖拽在我这个层次应该是不需要计算坐标的。
不知下面的代码如何改变可以实现拖拽的过程效果,现在拖拽后,虽然可获得结果值,但拖动中会选中所有鼠标经过的行,界面不友好。
<html>
<head>
<title>拖动行测试</title>
<script type="text/javascript">
var beginMoving = false;
var objSource = null;
function MouseDownToMove(obj) {
beginMoving = true;
objSource = obj;
}
function MouseUpToMove(obj) {
if (!beginMoving)
return false;
else
beginMoving = false;
if (objSource != obj)
alert(objSource.id + " 被拖拽到 " + obj.id);
}
</script>
</head>
<body>
<table cellspacing="5" cellpadding="5" border="1">
<tr id="1" style="cursor: move;" onmousedown='MouseDownToMove(this)' onmouseup='MouseUpToMove(this);'>
<td>
111111111111
</td>
</tr>
<tr id="2" style="cursor: move;" onmousedown='MouseDownToMove(this)' onmouseup='MouseUpToMove(this);'>
<td>
222222222222
</td>
</tr>
<tr id="3" style="cursor: move;" onmousedown='MouseDownToMove(this)' onmouseup='MouseUpToMove(this);'>
<td>
333333333333
</td>
</tr>
</table>
</body>
已解决。