【发布时间】:2018-04-04 21:33:48
【问题描述】:
为什么会这样:
var reader = new FileReader();
reader.onload = function(event) {
alert("work");
};
但是当我使用我的命名空间对象来分配它时,它不起作用:
nameSpace.cropper.reader = new FileReader();
nameSpace.cropper.reader.onload = function(event) {
alert("work");
};
我对对象的工作原理有什么误解?
【问题讨论】:
-
把它扔出去。
nameSpace.cropper在这两行执行之前存在? -
是的,我在顶部使用
nameSpace.cropper = nameSpace.cropper || {};进行实例化。我现在注意到,如果我从它的末尾删除reader.readAsText(file);,现在似乎它会崩溃......所以也许这不是分配问题? -
不知道,但从你这里的情况来看,如果 nameSpace.cropper 已经存在,我认为你的逻辑在语法上没有任何问题。
-
reader.readAsText(file)是重点,这就是你告诉读者做它的工作的地方:) 如果你删除它,当然事件永远不会触发。 -
jsfiddle.net/05Lhca7g/4 对我来说运行良好。
标签: javascript jquery filereader