【发布时间】:2016-05-16 20:46:13
【问题描述】:
我有以下一段 JavaScript:
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// Loop through the FileList and render image files as thumbnails.
for (var i = 0, f; f = files[i]; i++) {
// Only process image files.
if (!f.type.match('image.*')) {
continue;
}
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// Render thumbnail.
var span = document.createElement('span');
span.innerHTML = ['<img class="thumb" src="', e.target.result,
'" title="', escape(theFile.name), '"/>'].join('');
document.getElementById('list').insertBefore(span, null);
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
最后一行的 EventListener 是侦听输入文件的 HTML 元素。当一个文件被选中时,handeFileSelect 函数会完成剩下的工作。现在它将跨度返回到我的“列表”中。我想要的是制作另一个列表,它不必具有相同的 id,但它需要完全像另一个列表一样填充。我该怎么做?
【问题讨论】:
-
不确定我是否理解。只需创建另一个跨度,并将其插入到
list2之前。 -
返回函数里面?试过了,但它只出现在两个列表之一中。
标签: javascript html