2011-09-24 116 views
1

我无法找到我遇到的这个问题的答案。带有无法解释的未定义方法错误的addEventListener

function UploadBar() { 
    this.reader = new FileReader(); 
    this.reader.addEventListener(
     "onloadstart" 
     , function(evt) {alert("Hello World");} 
     , false 
    ); 
} 

当我尝试运行这段代码时,它给了我一个在Chrome调试器中的undefined_method_error。任何人都可以告诉我这里有什么问题吗?

回答

1

reader不是一个元素,所以不要使用.addEventListener而是执行以下操作。

function UploadBar() { 
    this.reader = new FileReader(); 
    this.reader.onloadstart = function(e) { alert('Hello World') }; 
} 
+0

太棒了,非常感谢。 – ovangle

+0

注意:由于FileReader继承自EventTarget,因此也可以使用addEventListener方法来侦听所有这些事件。来源:https://developer.mozilla.org/en-US/docs/Web/API/FileReader。尽管由于某些原因,此方法在较旧的Android浏览器中不可用。 – PhilT