JQuery - 在没有可拖动的屏幕上单击并拖动div

时间:2014-05-02 15:40:09

标签: javascript jquery html css

我目前正在开展一个小型项目,有可拖动的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
                }
            });
        });

由于

1 个答案:

答案 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
            });
        }
    });