jQuery拖动在Mousemove上开火,但没有在Mousedown上开火



所以我正在使用jQuery-ui的"拖动",并注意到了一些东西;阻力事件只会在Mousemove上发射。现在,对于我正在构建的应用程序,我需要向Mousedown和Mousemove开火。为了证明我的意思,请查看JQuery-UI网站的此示例。元素将相对于鼠标的特定位置捕捉 - 但仅当您移动鼠标时。我知道这不是默认行为,而是我需要模拟它。让我在这里解释我的情况;

我有一个带有一个圆圈的盒子。用户可以在盒子周围拖动圆圈,但是当用户在盒子中的其他位置将用户鼠标捕获到光标。现在,我有:

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

这要确保在用户Mousedowns和Mousemovs在框中的其他位置时触发拖放事件,但是当用户单击框中的某个地方而不是圆上时,我需要该圆圈来捕捉光标。我该如何以干净的方式进行操作?说明我的意思;Google的ColorPicker准确地表明了我的观点。您将圆圈拖到周围,但是当用户只单击时,圆圈捕捉到光标。

好的,所以经过一些实验,我认为这与我可以解决问题的清晰解决方案:

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

这是按预期工作的。

最新更新