我想在JavaScript中安裝一個事件處理程序來做一些加載文件(我使用Chrome進行測試)的工作。這是JavaScript我使用:文件閱讀事件處理程序奇怪與JavaScript/html5
// file reader...
function handleFileSelect(evt)
{
alert('event changed called!');
var files = evt.target.files; // FileList object
// files is a FileList of File objects. List some properties.
var output = [];
f = files[0];
reader.readAsText(f);
var reader = new FileReader();
reader.onloadend = function(evt)
{
// alert(evt.target.result);
alert('moo!');
}
}
alert('adding event listener');
document.getElementById('files').addEventListener('change', handleFileSelect, false);
奇怪的是,警報未觸發,所以我假設我已經正確安裝它們。我不確定是什麼錯誤。有任何想法嗎?
編輯:對不起,我應該提到它是handleFileSelect(...)事件處理程序不會觸發。
謝謝你的時間......
**總是**當瀏覽器開發人員工具無法按預期工作時檢查錯誤。 – Pointy
您在定義'reader'變量之前調用'reader.readAsText()'。 –
謝謝Pointy,我沒有意識到Chrome有一個開發工具選項(我在Visual Studio-ville中生活了太久)。問題在於在加載頁面之前正在安裝回調。在頁面正文中設置'onload'回調可以解決我的問題。謝謝! – easythrees