所以我使用了Jquery-ui" draggable",并发现了一些东西;拖动事件仅在mousemove上触发。现在,对于我正在构建的应用程序,我需要它在mousedown以及mousemove上启动。为了证明我的意思,请查看Jquery-ui网站上的this示例。元素相对于鼠标捕捉到某个位置 - 但只有在您移动鼠标时才会这样。我知道这不是默认行为,但我需要模拟它。让我在这里解释我的情况;
我有一个带圆圈的盒子。用户可以在框周围拖动圆圈,但是当用户在框中的其他位置移动时,圆圈会捕捉到光标。现在,我有这个:
$('#big-box').mousedown(function(event){
$('#tiny-circle').trigger(event);
});
这确保当用户mousedowns并将鼠标移动到框中的其他位置时触发拖动事件,但是当用户单击框中的某个位置而不是圆圈时,我需要该圆圈捕捉到光标。我该如何以干净的方式做到这一点?说明我的意思; Google's colorpicker完全表明了我的观点。您可以拖动圆圈,但只有用户点击时,圆圈才会捕捉光标。
答案 0 :(得分:1)
好的,经过一些实验后我觉得这很接近我可以找到一个干净的解决方案:
$('#big-box').mousedown(function(event){
$('#tiny-circle').css({left:event.offsetX,top:event.offsetY});
$('#tiny-circle').trigger(event);
});
这可以按预期工作。