我試圖從文件輸入中顯示圖像的ajax預覽。使用FileReader()足夠簡單,但是我將它與循環一起使用,所以當需要將結果放入圖像源時,我需要使用$(this)來定位輸入的循環項目。這對我來說甚至都沒有意義,所以我們走了。
我們有一個循環..
<li>
<input type="file" class="image" />
<img src="" class="preview" />
</li>
<li>
<input type="file" class="image" />
<img src="" class="preview" />
</li>
<li>
<input type="file" class="image" />
<img src="" class="preview" />
</li>
所以,現在讓我們說第二個輸入choosen,現在我需要添加的FileReader從結果到它的圖片src。我如何針對第二個循環項目及其內容做什麼?
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
// Here I need to use $(this) to target only the second list item's img.preview
$('.preview').attr('src', e.target.result);
};
reader.readAsDataURL(input.files[0]);
}
}
不知道我得到它,但你不會連功能保留範圍,從而在'this'關鍵字就等於某個元素,或者您只是希望它會? – adeneo
我真的不知道。我只是發現這個方法用於多個tuts以獲得文件輸入的預覽。我會帶着希望去。 –