2013-12-17 58 views
0

有在HTML 5文件中工作的功能,但其在JavaScript 我必須將它更改爲jQuery函數轉換的JavaScript改變事件jQuery的

<style> 
    .thumb { 
    height: 75px; 
    border: 1px solid #000; 
    margin: 10px 5px 0 0; 
    } 
</style> 

<input type="file" id="files" name="files[]" multiple /> 
<output id="list"></output> 

<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> 

這將創建一個從輸入圖像中翻滾當地 ,所以我需要改變這個jQuery中 工作是這樣的:

$('#thisfile').change(function(){ 
handleFileSelect(this) 
}); 

但是當我運行jQuery函數顯示它TypeError: evt.target is undefined錯誤 我能提供給日e jquery函數參數在這裏?

回答

3
$('#thisfile').change(function(evt){ 
    handleFileSelect(evt); 
}); 
+1

謝謝!這工作! –

+1

@peimanF。歡迎 – falinsky