我目前正在开发一个带有可拖动 div 的小元素。我创建的代码似乎无法正常工作,它会导致 JQuery 停止响应。
有没有不使用 .draggable 的简单好方法?
var hold = false;
//Drag Elements
$('#example').mousedown(function(){
hold = true;
});
$('#example').mouseup(function(){
hold = false;
});
$(document).on('mousemove', function(e){
$('#example').css({
while(hold){
left: e.pageX-50,
top: e.pageY-50
}
});
});
谢谢
最佳答案
由于 Javascript 是单线程的,您的 while
循环永远不会退出,因为当您陷入 mousemove< 时
处理程序。mouseup
处理程序无法运行
将while
改为if
:
$(document).on('mousemove', function(e){
if (hold) {
$('#example').css({
left: e.pageX-50,
top: e.pageY-50
});
}
});
关于javascript - JQuery - 在屏幕上单击并拖动 div 而无需拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23431929/