之间有什么区别
<img id="el" src="HD.jpg" onload="loadImage();">
function loadImage() {...}
和
<img id="el" src="HD.jpg">
document.getElementById('el').onload=loadImage();
?
示例1在图像完全加载时触发函数,example2甚至在加载图像的第一位之前触发它。这不应该是同一件事吗?
通过全速互联网访问很难发现差异,但是很明显,差异很小。
请注意
document.getElementById('el').src.onload=loadImage();
也不起作用。
谢谢
编辑:对于近似的帖子标题抱歉,不要犹豫,建议一个合适的标题。
答案 0 :(得分:1)
您正在做的事情与您的想法完全不同:您要将loadImage
返回的值分配给..onload
成员img
} element。
实际发生的是,当你的脚本加载时,它会分配调用loadImage()
函数的结果(这就是你看到它在任何图像之前运行的原因),这很可能{ {1}}到undefined
处理程序,从而禁用它。
要做你想做的事,你需要将一个函数分配给img.onload
处理程序 - 例如 - 只需包装另一个函数:
img.onload
或者您可以直接将您的函数指定为处理程序。它很好地说明了为什么它之前没有用,虽然我不会推荐它:
document.getElementById('el').src.onload = function() { loadImage(); };
(请注意缺少document.getElementById('el').src.onload = loadImage;
)