Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拖放;在vanilla js上放置鼠标移动脚本_Javascript_Html_Web_Drag And Drop - Fatal编程技术网

Javascript 拖放;在vanilla js上放置鼠标移动脚本

Javascript 拖放;在vanilla js上放置鼠标移动脚本,javascript,html,web,drag-and-drop,Javascript,Html,Web,Drag And Drop,我正在编写一个拖放脚本,用于使用类“.draggable”拖放块。问题在于,块会周期性地粘在光标上,不会脱落。如何编辑此脚本,以便可以使用鼠标拖动具有类“.draggable”的所有块,而不会出现此问题 let elements=document.querySelectorAll('.draggable'); 元素。forEach(函数(el){ 设mover=false, x、 y,posx,posy,first=true; el.onmousedown=函数(){ mover=true;

我正在编写一个拖放脚本,用于使用类“.draggable”拖放块。问题在于,块会周期性地粘在光标上,不会脱落。如何编辑此脚本,以便可以使用鼠标拖动具有类“.draggable”的所有块,而不会出现此问题

let elements=document.querySelectorAll('.draggable');
元素。forEach(函数(el){
设mover=false,
x、 y,posx,posy,first=true;
el.onmousedown=函数(){
mover=true;
};
el.onmouseup=函数(){
mover=false;
第一个=正确;
};
el.parentNode.onmousemove=函数(e){
el.style.cursor=“移动”;
如果(移动器){
如果(第一){
x=e.offsetX;
y=e.offsetY;
第一个=假;
}
posx=e.pageX-x;
posy=e.pageY-y;
el.style.left=posx+'px';
el.style.top=posy+‘px’;
}
}
});
.draggable{
位置:绝对位置;
z指数:1;
顶部:100px;
}

很难说这是有效的,因为很难产生错误,所以请让我知道这是有效的。我所做的只是

document.addEventListener("mouseup", function() {
    mover = false;
    first = true;
  });
let elements=document.querySelectorAll('.draggable');
元素。forEach(函数(el){
设mover=false,
x、 y,posx,posy,first=true;
el.onmousedown=函数(){
mover=true;
};
document.addEventListener(“mouseup”,function()){
mover=false;
第一个=正确;
});
/*
document.onmouseup=函数(){
mover=false;
第一个=正确;
};
*/
el.parentNode.onmousemove=函数(e){
el.style.cursor=“移动”;
如果(移动器){
如果(第一){
x=e.offsetX;
y=e.offsetY;
第一个=假;
}
posx=e.pageX-x;
posy=e.pageY-y;
el.style.left=posx+'px';
el.style.top=posy+‘px’;
}
}
});
.draggable{
位置:绝对位置;
z指数:1;
顶部:100px;
}

这可能是重复的:当光标移出当前元素时,鼠标不会启动