DataTransfer.mozSetDataAt()

非推奨: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

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

DataTransfer.mozSetDataAt() メソッドは、ドラッグイベントの data transfer オブジェクトの特定の位置にデータを追加するために使用します。

データ転送オブジェクトには複数の項目を格納することができ、それぞれは与えられたゼロ基点の位置で表されます。 既存のアイテムが変更された場合、 mozSetDataAt()mozItemCount より小さい位置で呼び出すことができ、新しい項目が追加された場合は、 mozItemCount と等しい位置で呼び出すことができ、 mozItemCount が 1 つ増えます。

データは優先順位の高い順に追加され、最も特殊な形式を最初に追加し、最も特殊でない形式を最後に追加する必要があります。指定された形式のデータがすでに存在する場合は、古いデータと同じ位置に置き換えられます。

データは文字列、論理値、数値型(文字列に変換される)、または nsISupports のいずれかでなければなりません。

メモ: このメソッドは Firefox 固有のものです。

構文

js

mozSetDataAt(data, index)
mozSetDataAt(type, data, index)

引数

type

文字列で、ドラッグデータオブジェクトに追加するドラッグデータの型を表します。

data

nsIVariant で、ドラッグデータオブジェクトに追加するデータを表します。

index

unsigned long で、データを追加する位置を表します。

返値

なし (undefined)。

この例では dragstart ハンドラーで mozSetDataAt() メソッドを使用する方法を示しています。

js

function dragstart_handler(event)
{
  const dt = event.dataTransfer;
  const idx = dt.mozItemCount;
  // Add two new items to the drag transfer
  if (idx >= 0) {
    dt.mozSetDataAt("text/uri-list","http://www.example.com/", idx);
    dt.mozSetDataAt("text/html", "Hello World", idx+1);
  }
}

仕様書

このメソッドはウェブ標準では定義されていません。

ブラウザーの互換性

{{Compat}}

関連情報