ドラッグ&ドロップの基本原理 (マウスイベント)
要素をドラッグして動かす、というのは、実は3つの基本的なマウスイベントを連携させることで実現できるんだ。
mousedown
(マウスダウン):マウスのボタンが、動かしたい要素(ここではモーダルのヘッダーなど、掴む部分)の上で押された瞬間に発生する。「ドラッグ開始!」の合図だね。
mousemove
(マウスムーブ):マウスカーソルが動いている間、連続して発生する。
mousedown
された後、このイベントを使って要素の位置をマウスに合わせて更新していくんだ。「ドラッグ中!」の状態。mouseup
(マウスアップ):押されていたマウスのボタンが離された瞬間に発生する。「ドラッグ終了!」の合図。ここで後始末をするよ。
この3つのイベントの流れをプログラムで制御することで、スムーズなドラッグ操作が作れるんだ。