当我的文档加载时,我想让JavaScript重新加载我的图像来源。为此,我在HTML文档中获得了以下代码:
<img src="#" id="mypic" onload="reloadImage(this);"/>
并在我的JavaScript文档中:
function reloadImage(imageElement) {
imageElement.src = "http://www.somedomain.com/image.png";
}
然而,这不起作用。我错误地使用this
,还是问题出在其他地方?
答案 0 :(得分:4)
您使用的语法原则上是正确的。问题是,对于作为无效图片网址的网址#
,load
事件可能永远不会被触发。
答案 1 :(得分:1)
您正确使用this
,但是如果图像加载,可能会导致您的函数被重复调用,但我怀疑从#
加载的图像是否会加载。你确定那是你想要的吗?
(你为什么要将你的代码称为“文档”?)
答案 2 :(得分:0)
代码应该可以工作,但是由于你在标签中没有图像,onload没有什么可以触发
试试这个
<img src="blank.gif" id="mypic" onload="reloadImage(this);"/>
并测试
if (imageElement.src.indexOf('blank')!=-1) imageElement.src="http://www.somedomain.com/image.png";