DOM

DataTransfer インターフェイス

 編集:2022.10.20 by T.A.

[Edge]。→

DataTransfer オブジェクトは、ドラッグ&ドロップ操作中にドラッグされているデータを保持するために使用されます。これは、1 つ以上のデータ項目を保持することができ、それぞれが 1 つ以上のデータ型を持ちます。ドラッグ&ドロップの詳細については、 を参照してください。

このオブジェクトはすべての ドラッグイベント の dataTransfer プロパティからアクセスすることができます。

コンストラクター
new DataTransfer()
新規 DataTransfer オブジェクトを作成して返します。
プロパティ
標準プロパティ
DataTransfer.dropEffect
ドラッグ&ドロップ操作中にユーザーに与えられるフィードバック(通常は視覚的)を取得/設定します。
DataTransfer.effectAllowed
ドラッグ操作で許可される効果を取得/指定します。
DataTransfer.files
ドラッグ操作中のファイルのリスト FileList を示します。

操作にファイルが含まれていない場合、リストは空になります。

DataTransfer.items 読取専用
ドラッグ操作でのデータ転送項目のリストを DataTransferItemList で示します。
DataTransfer.types 読取専用
dragstart イベントで設定されたドラッグ データ形式を表す文字列の配列を返します。形式の順序は、ドラッグ操作に含まれるデータの順序と同じです。
Gecko プロパティ

実験的: これは実験的な機能です。本番で使用する前にブラウザー互換性一覧表をチェックしてください。

DataTransfer.mozCursor 非標準
ドラッグ カーソルの状態を¶文字列で取得/設定します。
DataTransfer.mozSourceNode 読取専用
ドラッグ操作を開始するためにボタンを押下したときにマウス カーソルのあった Node を返します。外部アプリケーションからのドラッグの場合や、ドラッグを開始したノードが呼び出し元からアクセスできない物であった場合は、値は null となります。
DataTransfer.mozUserCancelled 読取専用
このプロパティは dragend イベントに対してのみ適用され、ユーザーが Esc キーを押下してドラッグ操作を取り消した場合は値が true となります。不正な場所でドロップした場合など、その他の理由でドラッグ操作に失敗した場合には、値は false となります。
非推奨プロパティ
DataTransfer.mozItemCount 読取専用 廃止
ドラッグされている項目の個数を返します。Firefox 71 で削除されます。
メソッド
標準メソッド
DataTransfer.clearData()
DataTransfer のドラッグ データの中で指定された型のものを削除します。
DataTransfer.getData()
DataTransfer のドラッグ データを指定した型の文字列で取得します。
DataTransfer.setData()
DataTransfer のドラッグ データに指定のデータと型を設定します。
DataTransfer.setDragImage()
ドラッグ中の表現の半透明画像をカスタマイズします。
Gecko メソッド

非標準: この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

注: この節の全メソッドは Gecko-固有のものです。

DataTransfer.addElement()
ドラッグ元の要素を指定します。
非推奨 メソッド
DataTransfer.mozClearDataAt() 廃止
指定されたインデックスの項目について、指定された形式に関連付けられたデータを削除します。インデックスは 0~(項目の数-1)の範囲です。Firefox 71 で削除されます。
DataTransfer.mozGetDataAt() 廃止
指定されたインデックスの項目の、指定された形式のデータを取得します。存在しない項目またはデータ形式を指定した場合は null を返します。インデックスは 0~(項目の数-1)の範囲です。Firefox 71 で削除されます。
DataTransfer.mozSetDataAt() 廃止
データ トランスファーは複数の項目を保持する事ができ、それぞれの項目には 0 から始まるインデックスが付けられます。mozSetDataAt() は、すでに存在する項目を変更する場合には mozItemCount より小さい値をインデックスとして指定し、新しい項目を追加する場合は mozItemCount に等しい値をインデックスとして指定します。また、mozItemCount は項目を追加する度に増加します。Firefox 71 で削除されます。
DataTransfer.mozTypesAt() 廃止
指定されたインデックスの項目が保持しているデータの形式のリスト(文字列の配列)を返します。0~(項目の数-1)の範囲外のインデックスを指定した場合は、空のリストを返します。Firefox 71 で削除されます。

テスト