首页 文章

Jquery拖动鼠标移动而不是mousedown

提问于
浏览
1

所以我'm using Jquery-ui' s "draggable",注意到了一些事情;拖动事件仅在mousemove上触发 . 现在,对于我正在构建的应用程序,我需要它在mousedown以及mousemove上启动 . 为了证明我的意思,看一下来自Jquery-ui 's website. The elements snap to a certain position relative to the mouse - but only when you'示例的this示例移动了鼠标 . 我知道这不是默认行为,但我需要模拟它 . 让我来解释一下我的情况;

我有一个带圆圈的盒子 . 用户可以在框周围拖动圆圈,但是当用户在框中的其他位置移动时,圆圈会捕捉到光标 . 现在,我有这个:

$('#big-box').mousedown(function(event){
        $('#tiny-circle').trigger(event);
    });

这可以确保当用户mousedowns并将鼠标移动到框中的其他位置时触发拖动事件,但是当用户单击框中的某个位置而不是圆圈时,我需要该圆圈捕捉到光标 . 我该如何以干净的方式做到这一点?说明我的意思; Google's colorpicker完全显示了我的观点 . 您可以拖动圆圈,但是当用户仅单击时,圆圈将捕捉到光标 .

1 回答

  • 1

    好吧,经过一些实验,我认为这是非常接近我可以找到一个干净的解决方案:

    $('#big-box').mousedown(function(event){
            $('#tiny-circle').css({left:event.offsetX,top:event.offsetY});
            $('#tiny-circle').trigger(event);
        });
    

    这按预期工作 .

相关问题