reader.onload:循环Jquery函数

时间:2017-05-21 22:54:48

标签: javascript jquery filereader

我想知道是否有可能做到这一点。我正在使用Jquery裁剪工具(cropit)。我试图一次将多个文件输入放入几个cropper实例。不幸的是,它不能很好地工作。 例如,如果我上传三个图像,则前两个裁剪器为空,最后一个裁剪器随机获取其中一个图像。这是功能:

function handleCropit(files) {
    for (var i = 0; i < files.length; i++) {
        var file = files[i];
        var count = counterCropit();

        var reader = new FileReader();
        reader.onload= function(e){ $('#image-cropper'+count).cropit('imageSrc', e.target.result);};
        reader.readAsDataURL(file);
    }
}

1 个答案:

答案 0 :(得分:0)

想出来了!

function handleCropit(files) {
    for (var i = 0; i < files.length; i++) {
        var file = files[i];
        var count = counterCropit();
        var croper = $('#image-cropper'+count);
        var reader = new FileReader();
        reader.onload= (function (yo) {return function(e){ yo.cropit('imageSrc', e.target.result);}})(croper);
        reader.readAsDataURL(file);
    }
}