FileReader构造函数实现图片上传预览遇到问题,请求大牛解答

<body>
<input type="file" id="file" multiple="multiple"/>
<script>
var file=document.querySelector('#file');
file.onchange=function(){
var files =event.target.files;
for(var i=0;i<files.length;i++){
var fileReader=new FileReader();
fileReader.readAsDataURL(files[i]);
fileReader.onload=function(){
var img =document.createElement('img');
img.src= this.result; //此处的this为什么不能换成fileReader
document.body.appendChild(img);
}
}
}
</script>
</body>
当上传多张图片时代码备注行的关键字this 为什么不能换成FileReader,不是在循环里变量FileReader每次循环都会代表新的对象吗?

chinanavy
浏览 1098回答 1
1回答

码农2号

this的指向的确是FileReader,但是是load之后的FileReader。如果用FileReader,则会取外面的还没有load的FileReader。
打开App,查看更多内容
随时随地看视频慕课网APP