2017-01-04 25 views
-2

我想用在畫布上的圖像,所以我做get e.target.files [0];在點擊事件jQuery的

document.getElementById('file').addEventListener("change", function(e) { 
     var file = e.target.files[0]; 
     console.log(file) //worked 
    }); 

但我怎麼能e.target.files [0]點擊事件中的圖像元素?

$('.img').click(function(){ 
//what to do here? 
}) 
+1

的圖像元素沒有文件屬性。更詳細地解釋你想要做什麼 – charlietfl

+0

@charlietfl但我的img有src,這是url的權利?我期望當我點擊圖像時,我可以獲得e.target.file [0]或base64格式。 –

+0

你的評論說'e.target.file [0]',但你的代碼示例說'e.target.files [0]'。 –

回答

0

我找到了解決方案,只需使用filereader api即可。

function toDataUrl(url, callback) { 
     var xhr = new XMLHttpRequest(); 
     xhr.responseType = 'blob'; 
     xhr.onload = function() { 
     var reader = new FileReader(); 
     reader.onloadend = function() { 
      callback(reader.result); 
     } 
     reader.readAsDataURL(xhr.response); 
     }; 
     xhr.open('GET', url); 
     xhr.send(); 
    } 

,我可以做

toDataUrl('http://example.com/abc.png', function(data) { 
console.log(data)//base64 
})