JavaScript - “this”作为函数参数

时间:2010-08-29 10:37:57

标签: javascript

当我的文档加载时,我想让JavaScript重新加载我的图像来源。为此,我在HTML文档中获得了以下代码:

<img src="#" id="mypic" onload="reloadImage(this);"/>

并在我的JavaScript文档中:

function reloadImage(imageElement) {
    imageElement.src = "http://www.somedomain.com/image.png";
}

然而,这不起作用。我错误地使用this,还是问题出在其他地方?

3 个答案:

答案 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";