Javascript 拖放div元素无法正常工作

Javascript 拖放div元素无法正常工作,javascript,drag-and-drop,Javascript,Drag And Drop,我创建了一个简单的代码来拖放div元素,但效果不好。 当您将div元素快速拖动到任何方向top,left,right,down,鼠标光标将离开div元素,尽管我仍在按按钮 HTML <div id="box"></div> JavaScript var elem = document.getElementById('box'); var PositionX = 0; var PositionY = 0; var MouseX = 0 var MouseY = 0; va

我创建了一个简单的代码来拖放div元素,但效果不好。
当您将div元素快速拖动到任何方向
top
left
right
down
,鼠标光标将离开div元素,尽管我仍在按按钮

HTML

<div id="box"></div>
JavaScript

var elem = document.getElementById('box');
var PositionX = 0;
var PositionY = 0;
var MouseX = 0
var MouseY = 0;
var mouseDown = false;

elem.onmousedown = function(e) {
    PositionX = elem.offsetLeft;
    PositionY = elem.offsetTop;
    MouseX = e.clientX;
    MouseY = e.clientY;
    mouseDown = true;
};

elem.onmousemove = function(e) {
    if (mouseDown) {
    elem.style.left = PositionX + e.clientX - MouseX + "px";
    elem.style.top = PositionY + e.clientY - MouseY + "px";
  }
};

elem.onmouseover = function(e) {
    elem.style.cursor = 'move';
};

elem.onmouseup = function(e) {
    mouseDown = false;
};

尝试更改这一行:

elem.onmousemove = function(e) {
致:


尝试以下方法,希望它能完成您的工作:

var elem= document.getElementbyId('<%=box.ClientID%>');
elem.onmousemove= function(e) {
    if (mouseDown) {
    elem.style.left = PositionX + e.clientX - MouseX + "px";
    elem.style.top = PositionY + e.clientY - MouseY + "px";
  }
};
var elem=document.getElementbyId(“”);
元素onmousemove=函数(e){
如果(鼠标向下){
elem.style.left=位置x+e.clientX-MouseX+“px”;
elem.style.top=PositionY+e.clientY-MouseY+px;
}
};

如果这对u不起作用,则u可以使用
document.onmousemove = function(e) {
var elem= document.getElementbyId('<%=box.ClientID%>');
elem.onmousemove= function(e) {
    if (mouseDown) {
    elem.style.left = PositionX + e.clientX - MouseX + "px";
    elem.style.top = PositionY + e.clientY - MouseY + "px";
  }
};