2017-03-05 63 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); 
    }); 

,這按預期工作。

相關問題