Javascript 拖放;在vanilla js上放置鼠标移动脚本
我正在编写一个拖放脚本,用于使用类“.draggable”拖放块。问题在于,块会周期性地粘在光标上,不会脱落。如何编辑此脚本,以便可以使用鼠标拖动具有类“.draggable”的所有块,而不会出现此问题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;
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;
}
这可能是重复的:当光标移出当前元素时,鼠标不会启动