2017-03-05 6 views
0

Jquery-uiの「draggable」を使用しています。ドラッグイベントはmousemoveでのみ発生します。今私が構築しているアプリのために、私はmousedownとmousemoveで起動する必要があります。私が何を意味するかを実証するために、Jquery-uiのウェブサイトのthisの例を見てください。要素は、マウスを基準にして特定の位置にスナップします。私はこれがデフォルトの動作ではないことを理解していますが、私はそれをシミュレートする必要があります。ここで私の状況を説明しましょう。mousemoveでjqueryドラッグが起動しますが、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); 
    }); 

と意図したとおり、これは動作します。

関連する問題