これまでのところ、マーカー付きの円があります。
マーカーをつかんで円の周りにドラッグしたいのですが、現在の機能はマーカーをクリックしたときにのみ微調整します。
マウスを押したまま円の周りにマーカーをドラッグできるようにするには、コードにどのような変更を加えることができますか?
ノート
あなたのソリューションでフィドルを更新していただければ幸いです。
これまでのところ、マーカー付きの円があります。
マーカーをつかんで円の周りにドラッグしたいのですが、現在の機能はマーカーをクリックしたときにのみ微調整します。
マウスを押したまま円の周りにマーカーをドラッグできるようにするには、コードにどのような変更を加えることができますか?
ノート
あなたのソリューションでフィドルを更新していただければ幸いです。
一部のコードを変更しました
$(document).ready(function(){
$('#marker').on('mousedown', function(){
$('body').on('mousemove', function(event){
rotateAnnotationCropper($('#innerCircle').parent(), event.pageX,event.pageY, $('#marker'));
});
});
});
このコードも追加します
$('body').on('mouseup', function(event){ $('body').unbind('mousemove')});
関数で
これはjsfiddle http://jsfiddle.net/sandeeprajoria/x5APH/11/です
この種のことを行うには:
目的mousedown
の要素で、次のように設定します。
mousemove
ターゲットの位置を更新するためのドキュメントのイベントmouseup
mousemove
ドキュメントのイベントを使用して、設定したイベントとイベントを削除しmouseup
ます。プレーンJSの例:
elem.onmousedown = function() {
document.body.onmousemove = function(e) {
e = e || window.event;
// do stuff with e
};
document.body.onmouseup = function() {
document.body.onmousemove = document.body.onmouseup = null;
};
};
個人的には、イベントをキャプチャするためにページ全体に「マスク」要素を作成することでこれをさらに改善したいと思います。たとえば、選択範囲または画像をドラッグしても、デフォルトのブラウザアクションがトリガーされません(これは、この場合...)