奇怪的代码行为

时间:2015-02-22 20:11:56

标签: javascript

创建一些 64base映像并复制它的src,如

orig_src.src = image_target.src;

我有下一个"资源解释为图像,但使用MIME类型text / html传输:"。
所以我删除所有不重要的代码并创建 Jsffidle demo 所以这是简单的图像选择器,它预览选择图像,它必须提醒该文件的src,但它是提醒页面的链接。为什么?有趣的是,如果谁第二次成像它工作正常。我该如何解决?这种行为的原因是什么?

1 个答案:

答案 0 :(得分:2)

您在reader.onload事件被触发之前发出警报,因为加载图像需要一些时间。它是异步的,这意味着您的代码只是在加载之前一直执行。只需在alert()内移动reader.onload语句:

reader.onload = function (event) {
     e.target.parentNode.getElementsByTagName("img")[0].setAttribute('src',event.target.result);
     alert(e.target.parentNode.getElementsByTagName("img")[0].src);
}