0

我正在尝试在 JavaScript 中安装一个事件处理程序来做一些加载文件的工作(我正在使用 Chrome 进行测试)。这是我正在使用的 Javascript:

// 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(...) 事件处理程序。

感谢您的时间...

4

1 回答 1

2

reader.readAsText(f);在分配reader值之前调用,因此尝试readAsText从未定义的值调用时会出错。

var reader = new FileReader();
reader.readAsText(f);
于 2013-01-13T18:38:36.523 回答