2017-08-01 12 views
2

JavaScriptでマウスイベント(mousedown、mousemoveイベント)を使用してドラッグイベントをシミュレートするにはどうすればよいですか?私はドラッグイベントをプログラム的に作成し、マウスイベントを引き起こしたいと思います。JavaScriptでマウスイベント(mousedown、mousemoveイベント)を使用してドラッグイベントをシミュレートするには

+0

より を読むことができますか? rxjs? jquery?純粋なjavascriptを使用すると、エラーが発生しやすくなります。 – Val

+1

通常、これは、mousedownリスナーを要素に添付することによって行われ、mousemoveリスナーとmouseupリスナーをドキュメントに添付します。 mousemoveリスナではドラッグ可能なアイテムを移動し、マウスアップリスナではドラッグ可能なアイテムをドロップし、mouseupやmousemoveのリスナをドキュメントから削除します。 「ドラッグ可能」の座標は、すべてのリスナーがアクセスできるように、外部スコープに格納されます。 – Teemu

答えて

0

DragEventインターフェイスは、ドラッグアンドドロップ操作を表すDOMイベントです。 このインターフェイスは、MouseEventおよびイベント のプロパティを継承します(詳細はhereを参照してください)。 mouseEventsは、ポインティングデバイス(通常はマウス)がリスナーが接続されている要素の上を移動すると発生します。あなたは外部ライブラリを使用することができますhere

0
// add mousedown handler  
document.addEventListener('mousedown', handleMousedown); 

function handleMousedown() { 
    // on mousedown add listeners 
    document.addEventListener('mouseup', handleMouseup); 
    document.addEventListener('mousemove', handleMousemove); 
} 

function handleMousemove(event) { 
    // let's make some magic 
} 

function handleMouseup() { 
    // on mouseup remove listeners 
    document.removeEventListener('mouseup', handleMouseup); 
    document.removeEventListener('mousemove', handleMousemove); 
} 

jsfiddle example

関連する問題