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:
Beispiele
Dieses Beispiel zeigt die Verwendung der Eigenschaft kind.
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> |