2016-10-11 150 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阅读内容可用。