Мне очень понравился совет по наилучшему способу перестроить нижеследующую функцию. То, что я делаю, это настроить считыватель файлов и обновить содержимое divs в цикле for. В принципе, мой код работает отлично до тех пор, пока я оставляю в нижнем предупреждении «alert (sparespacetofill)»; для тестирования, но когда я выхожу из этого предупреждения, содержимое моего div не обновляется, как должно. Очевидно, что проблема с функцией «reader.onload» не будет вызвана до того, как функция завершит работу, но я действительно зациклился на том, как я должен структурировать это по-другому.Проблема с размещением функции onload в jQuery
function setup_reader(file,number, sparespacetofill) {
var name = file.name;
var reader = new FileReader();
reader.onload = function(e) {
$('#' + sparespacetofill).children('img').attr('src',e.target.result);
if ($('#' + sparespacetofill).find("p").length <= 0 && sparespacetofill !='pic0') {
$('#' + sparespacetofill).append('<p id="deleteit">Delete<a></p>');
}
}
reader.readAsDataURL(file);
//alert(sparespacetofill);///ISSUE IS IN HERE IF I UNCOMMENT THIS OUT
return sparespacetofill;
}
Вы можете попробовать onloadend() вместо загрузки? – ustun
http://www.htmlgoodies.com/beyond/javascript/read-text-files-using-the-javascript-filereader.html#fbid=4DqX_0Cz_6l, возможно, это помогает – Simon
Пробовал загрузку и добавлял закрытие по ссылке, но все же нет радости? – user1495476