Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

DataTransferItem: Eigenschaft kind

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit November 2016 browserübergreifend verfügbar.

Die schreibgeschützte Eigenschaft kind des Interfaces DataTransferItem gibt die Art – einen String oder eine Datei – des Objekts zurück, das das Drag-Datenelement darstellt.

Während eines Drag-Vorgangs kann diese Eigenschaft in jedem Drag-Event-Handler gelesen werden, selbst wenn sich der Drag-Datenspeicher im geschützten Modus befindet. Die Art des Elements bleibt zugänglich, aber seine Daten können nur in den Handlern für die Events dragstart und drop gelesen werden. Einzelheiten finden Sie unter Lesen des Drag-Datenspeichers.

Wert

Ein String, der die Art des Drag-Datenelements darstellt. Er muss einer der folgenden Werte sein:

'file'

Wenn das Drag-Datenelement eine Datei ist.

'string'

Wenn die Art des Drag-Datenelements ein einfacher Unicode-String ist.

Beispiele

Dieses Beispiel zeigt die Verwendung der Eigenschaft kind.

js
function dropHandler(ev) {
  console.log("Drop");
  ev.preventDefault();
  for (const item of ev.dataTransfer.items) {
    if (item.kind === "string" && item.type === "text/plain") {
      // This item is the target node
      item.getAsString((s) => {
        ev.target.appendChild(document.getElementById(s));
      });
    } else if (item.kind === "string" && item.type === "text/html") {
      // Drag data item is HTML
      console.log("… Drop: HTML");
    } else if (item.kind === "file" && item.type.startsWith("image/")) {
      // Drag data item is an image file
      const f = item.getAsFile();
      console.log("… Drop: File");
    }
  }
}

Spezifikationen

Spezifikation
HTML
# dom-datatransferitem-kind-dev

Browser-Kompatibilität

Siehe auch