Ответ Яни правильный, но в случае одновременного удаления нескольких файлов в droparea нет отдельных событий для каждого файла (насколько я знаю).Но идея может быть использована для загрузки файлов синхронно с помощью рекурсии.В приведенном ниже коде я загружаю количество файлов и объединяю их содержимое в одну строку для дальнейшей обработки.
var txt="", files=[];
function FileSelectHandler(e) {
e.preventDefault();
files = e.target.files || e.dataTransfer.files;
txt="";
readFile(0);
}
function readFile(n) {
file=files[n];
var reader = new FileReader();
reader.onload = function() {
txt += reader.result;
}
reader.readAsText(file);
if (n<files.length-1) { readFile(n+1); }
else { setTimeout(doWhatEver, 100);}
}
function doWhatEver(){
outtext.innerHTML=txt;
}
Последний файл также требует немного дополнительного времени для загрузки.Следовательно, "setTimeout".
"outtext" является дескриптором текстовой области, где отображается вся строка.При выводе в textarea браузер не будет анализировать строку.Это позволяет просматривать не только текст, но и HTML, XML и т. Д.