我目前正在开展一个小型项目,有可拖动的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
}
});
});
由于
答案 0 :(得分:1)
由于Javascript是单线程的,因此while
循环永不退出,因为mouseup
处理程序无法在mousemove
处理程序中运行时运行。
将while
更改为if
:
$(document).on('mousemove', function(e){
if (hold) {
$('#example').css({
left: e.pageX-50,
top: e.pageY-50
});
}
});