我有这个脚本用于展示图片预览:
<script>
function handleFileSelect(evt,ids) {
var files = evt.target.files;
var f = files[0];
var reader = new FileReader();
reader.onload = (function(theFile) {
return function(e) {
document.getElementById(''+ids).innerHTML = ['<img src="', e.target.result,'" title="', theFile.name, '" width="50"/>'].join('');
};
})(f);
reader.readAsDataURL(f);
}
</script>
<input type="file" id="files2" />
<output id="list2"></output>
<script>
document.getElementById('files2').addEventListener('change',handleFileSelect('evt','list2'),false);
</script>
<input type="file" id="files3" />
<output id="list3"></output>
<script> document.getElementById('files3').addEventListener('change',handleFileSelect('evt','list3'),false);
</script>
为此,使用不同的输入文件,并在每种情况下显示预览图像,我需要更改每个图像的每个图像的显示预览容器的ID等
function handleFileSelect(evt,ids)
ID用于为每种情况发送此不同的ID:
<input type="file" id="files2" />
<output id="list2"></output>
<input type="file" id="files3" />
<output id="list3"></output>
对于我需要的作品,我需要将此 ID 发送给 addEventListener ,但是没有工作
感谢您的帮助,问候
答案 0 :(得分:1)
addEventListener
的第二个参数必须是函数。你没有传递函数,你正在调用函数并传递它的返回值。它应该是:
document.getElementById('files2').addEventListener('change', function() {
handleFileSelect('evt','list2');
}, false);