2017-03-05 56 views
0

因此,我使用Jquery-ui的“可拖动”,并注意到了一些东西;拖动事件仅在mousemove上触发。现在对于我正在构建的应用程序,我需要它在mousedown以及mousemove上开火。为了演示我的意思,请查看来自Jquery-ui网站的this示例。元素捕捉到相对于鼠标的某个位置 - 但只有当您移动鼠标时。我知道这不是默认行为,但我需要模拟它。让我在这里解释我的情况;Jquery在mousemove上拖动,但不在mousedown

我有一个框中有一个圆圈。用户可以在框中拖动圆圈,但当用户在框中的其他位置放置时,该圆形会捕捉到光标。现在,我有这样的:

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

这样可以确保当用户mousedowns和mousemoves其他地方在框中,但是当用户在框中单击某个地方,而不是在这个圈子,我需要拖动事件被触发该圆圈捕捉到光标。我如何以干净的方式去做这件事?为了说明我的意思; Google's colorpicker准确地显示了我的观点。您将该圆圈拖动,但当用户仅单击时,该圆形会捕捉到光标。

回答

0

好了,所以一些尝试后,我认为这是接近我可以得到一个干净的解决问题的办法:

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

,这按预期工作。

相关问题