2016-10-11 123 views
0

我對API的理解告訴我,代碼應如下輸出文本文件的內容(來自輸入標籤)。我不知道如何使用事件對象。我閱讀了Mozilla開發人員文檔的內容越多。我得到更多的困惑。與HTML5 FileReader混淆

<script> 
function f(event) 
{ 
    alert("Just to check if the function is triggered"); 
    var r = new FileReader() ; 
    r.onload = function() 
    { 
     alert (r.readAsText(document.getElementById['f'].files[0])) ; 
    } 

} 
    </script> 

    <input type="file" id="f" onchange="f(event);" /> 

更改事件觸發該函數,但執行第一行(警報消息)後沒有任何反應。沒有錯誤信息。有人可以幫我解決我哪裏錯了。

回答

0

您附加到onload事件,但您沒有做任何會導致事件觸發的事件。您必須將您的readAsText()呼叫轉移到外部,而不是在處理程序中。

由於MDN documentation說,大約onload

的FileReader.onload屬性包含當負載事件被觸發執行的事件處理程序,當readAsArrayBuffer,readAsBinaryString,readAsDataURL或readAsText閱讀內容可用。