Javascript - 在加载前调用`onload`函数?

时间:2015-01-23 17:43:12

标签: javascript html iframe

我已经使用javascript创建了一个iframe:

fr=document.createElement('iframe');
fr.src="www.example.com";
fr.onload=doSomething();
document.body.appendChild(fr);

问题是onload部分似乎在 iframe加载之前运行 - 我在控制台中遇到错误(使用chrome)关于函数中未定义的内容(并且一旦iframe加载就会定义),当我检查时,结果是iframe从未被附加。

1 个答案:

答案 0 :(得分:4)

onload需要一个函数引用来调用

fr.onload=doSomething;

当你将doSomething()分配给onload事件处理程序时,会调用它的返回(未定义),这就是你看到的错误。这也是doSomething似乎立即运行的原因(因为它在分配期间执行)。