--- title: DragEvent slug: Web/API/DragEvent tags: - API - DragEvent - Reference - drag and drop translation_of: Web/API/DragEvent ---
{{APIRef("HTML Drag and Drop API")}}

DragEvent インターフェイスは、ドラッグアンドドロップの対話を表す {{domxref("Event","DOM イベント")}}です。ユーザーはタッチ面でポインティングデバイス (マウスなど) を置くことによりドラッグを開始して、ポインタを新たな場所 (別の DOM 要素など) にドラッグします。アプリケーションは独自の方法で、ドラッグアンドドロップの操作を自由に解釈できます。

このインターフェイスは、{{domxref("MouseEvent")}} および {{domxref("Event")}} のプロパティを継承します。

プロパティ

{{domxref('DragEvent.dataTransfer')}} {{readonlyInline}}
ドラッグアンドドロップの操作で動かされているデータです。

コンストラクター

このインターフェイスにはコンストラクターがありますが、役に立つ DataTransfer オブジェクトをスクリプトから作成することはできません。これは {{domxref("DataTransfer")}} オブジェクトに、ドラッグアンドドロップ中にブラウザーによって調整される処理やセキュリティのモデルがあるためです。

{{domxref("DragEvent.DragEvent", "DragEvent()")}}
本物ではなく、また信頼されていない DragEvent を作成します。

イベントタイプ

{{event('drag')}}
このイベントは、要素や選択テキストがドラッグされているときに発生します。
{{event('dragend')}}
このイベントは、(マウスボタンを離したり、Esc キーを押下して) ドラッグ操作が終了したときに発生します。
{{event('dragenter')}}
このイベントは、ドラッグされた要素や選択テキストが有効なドロップ先に入ったときに発生します。
{{event('dragexit')}}
このイベントは、要素がドラッグ操作の直接的な選択対象ではなくなったときに発生します。
{{event('dragleave')}}
このイベントは、ドラッグされた要素や選択テキストが有効なドロップ先から出たときに発生します。
{{event('dragover')}}
このイベントは、要素や選択テキストが有効なドロップ先の上をドラッグされたときに (マウスが動いていない場合は 50 ミリ秒ごとに、それ以外は 5 ミリ秒ごと (遅い動作) か 1 ミリ秒ごと (速い動作) の間隔です。この発生パターンは {{Event("mouseover")}} とは異なります) 発生します。
{{event('dragstart')}}
このイベントは、ユーザーが要素や選択テキストのドラッグを開始したときに発生します。
{{event('drop')}}
このイベントは、要素や選択テキストが有効なドロップ先にドロップされたときに発生します。

GlobalEventHandlers

{{domxref('GlobalEventHandlers.ondrag')}}
{{event('drag')}} イベントの {{domxref('GlobalEventHandlers','グローバルイベントハンドラー')}}。
{{domxref('GlobalEventHandlers.ondragend')}}
{{event('dragend')}} イベントの {{domxref('GlobalEventHandlers','グローバルイベントハンドラー')}}。
{{domxref('GlobalEventHandlers.ondragenter')}}
{{event('dragenter')}} イベントの {{domxref('GlobalEventHandlers','グローバルイベントハンドラー')}}。
{{domxref('GlobalEventHandlers.ondragexit')}}
{{event('dragexit')}} イベントの {{domxref('GlobalEventHandlers','グローバルイベントハンドラー')}}。
{{domxref('GlobalEventHandlers.ondragleave')}}
{{event('dragleave')}} イベントの {{domxref('GlobalEventHandlers','グローバルイベントハンドラー')}}。
{{domxref('GlobalEventHandlers.ondragover')}}
{{event('dragover')}} イベントの {{domxref('GlobalEventHandlers','グローバルイベントハンドラー')}}。
{{domxref('GlobalEventHandlers.ondragstart')}}
{{event('dragstart')}} イベントの {{domxref('GlobalEventHandlers','グローバルイベントハンドラー')}}。
{{domxref('GlobalEventHandlers.ondrop')}}
{{event('drop')}} イベントの {{domxref('GlobalEventHandlers','グローバルイベントハンドラ')}}。

各プロパティ、コンストラクター、イベントタイプおよびグローバルイベントハンドラーの例は、それぞれのリファレンスページに掲載しています。

仕様

仕様書 策定状況 コメント
{{SpecName("HTML WHATWG", "#dragevent", "DragEvent")}} {{Spec2("HTML WHATWG")}}
{{SpecName("HTML5.1", "editing.html#the-dragevent-interface", "DragEvent")}} {{Spec2("HTML5.1")}} 最初の定義

ブラウザー実装状況

{{Compat("api.DragEvent")}}

関連情報

{{page("/ja/docs/Web/API/DataTransfer", "See also")}}