loadhandler上的事件参数

时间:2014-12-05 10:28:43

标签: javascript jquery filereader

我正在使用输入加载多个文件,我有:

function getAsText(fileToRead, index) {
    var reader = new FileReader();
    reader.onload = loadHandler;
    reader.onerror = errorHandler;
    reader.readAsText(fileToRead);
}

在fileToRead中有文件[x]

我的加载处理程序看起来像这样:

function loadHandler(event) {
var csv = event.target.result;
processData(csv);
}

这适用于一个文件。问题是我想添加一个'索引' loadHandler的参数,以便知道我正在读取哪个文件。所以我尝试了这个:

reader.onload = loadHandler(this.event, index);

但是这个事件并没有工作,而loadHandler接收并清空了事件,因此它在事件中失败了.target.result'

该活动应该是什么? 感谢。

1 个答案:

答案 0 :(得分:0)

你可以使用像

这样的闭包回调
function getAsText(fileToRead, index) {
    var reader = new FileReader();
    reader.onload = function () {
        loadHandler(event, index)
    };
    reader.onerror = errorHandler;
    reader.readAsText(fileToRead);
}

function loadHandler(event, index) {
    var csv = event.target.result;
    processData(csv);
}