Testen, ob dragenter/dragover-Ereignis Dateien enthält

Avatar of Chris Coyier
Chris Coyier am

HTML5 Drag and Drop ist großartig für die Handhabung von Datei-Uploads. Aber wenn Sie es nur dafür verwenden, ist es gut zu wissen, ob ein bestimmtes dragenter- oder dragover-Ereignis tatsächlich Dateien enthält. Im Gegensatz zu beispielsweise dem Ziehen von ausgewählten Text.

Senden Sie das Event-Objekt an diese Funktion und sie wird die Wahrheit zurückgeben (vorausgesetzt, Sie befinden sich in einem Browser, der dies alles unterstützt)

function containsFiles(event) {

    if (event.dataTransfer.types) {
        for (var i = 0; i < event.dataTransfer.types.length; i++) {
            if (event.dataTransfer.types[i] == "Files") {
                return true;
            }
        }
    }
    
    return false;

}