我正在使用Javascript处理FileReader API并运行此代码以创建我选择的图像的缩略图。它很棒。这是我的代码
var fileHolder = new Array();
var addedImagesHolder = new Array();
$(document).on('change', '.uploadFiles', function()
{
if(window.FormData)
{
fileHolder = this.files;
CreateImageThumbnails();
}
else
{
alert('The File APIs are not supported.');
}
});
function CreateImageThumbnails()
{
for(var i=0; i<fileHolder.length; i++)
{
var uniqueID = Math.random().toString(36).substring(7);
addedImagesHolder.push([fileHolder[i], uniqueID]);
var fr = new FileReader();
fr.onloadend = showFileInList;
fr.readAsDataURL(fileHolder[i]);
}
}
function showFileInList(ev) //<--- How this ev works
{
var img = new Image;
img.onload = function()
{
$('#thumbnails').append('<li>'+
'<img src="'+ev.target.result+'"/>'+
'<div class="ProgIndicBar"></div>'+
'</li>');
}
img.src = ev.target.result;
}
上面的代码效果很好,但我遇到了2个问题。
1)函数 showFileInList 如何获得 ev 作为参数? ev 来自哪里?
2)如何将 showFileInList 函数中的uniqueID变量作为参数与 ev 一起传递?像这样的东西
function showFileInList(ev, uid)
{
//------
}