我真的很喜歡一些關於重構下面函數的最佳方法的建議。我正在做的是設置文件閱讀器並刷新for循環中的多個div內容。基本上,只要我在底部警報中說「alert(sparespacetofill)」,我的代碼就完美了;「進行測試,但是當我把這個警報提出來時,我的div的內容不會像應該那樣刷新。在函數完成運行之前,「reader.onload」函數顯然沒有被調用,但我真的被困在如何以不同的方式構造它。在jQuery中放置onload函數的問題
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()而不是onload? – ustun
http://www.htmlgoodies.com/beyond/javascript/read-text-files-using-the-javascript-filereader.html#fbid=4DqX_0Cz_6l也許這有助於 – Simon
嘗試了onloadend,並根據鏈接添加閉包但仍然沒有快樂? – user1495476