ev如何工作并在Javascript中传递函数

时间:2015-11-01 12:01:55

标签: javascript html html5 api filereader

我正在使用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)
{
     //------
}

0 个答案:

没有答案