所以我正在使用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);
});
这是按预期工作的。