javascript不会在window.load上执行

时间:2009-12-29 14:08:53

标签: javascript

我有一个在以下元素中执行的javascript:<a href="javascript:doSomething();">但是它不会在window.load上执行,有人知道为什么会这样?

4 个答案:

答案 0 :(得分:6)

通过上面的示例,只有在用户单击锚点时才会调用doSomething()。如果你想在window.load上执行它,你需要将代码放在头部。即。

<script type="text/javascript">
    window.onload = doSomething;
</script>

另外,如果您将要使用onload事件,我个人会建议使用jQuery并使用它'在DOM ready'事件。这样,您的javascript将无缝地显示给最终用户,并且不会产生闪烁效果。

答案 1 :(得分:2)

您是否尝试过编写<body onload="doSomething();">

答案 2 :(得分:1)

假设您已经完成了所有其他建议,那么代码后面的某个人(<body onload=...window.onload = ...之后)完全相同,并且已经覆盖了您。
如果恰好是这种情况(可能性很小)支持两个onload挂钩的解决方案是window.attachEvent("onload", doSomething)

答案 3 :(得分:0)

如果我正确理解你的问题,你想在一个元素中设置一个属性,通过javascript动态计算它,这样当页面加载时你的链接指向“doSomething()”的返回值。

为此,您可以使用javascript的DOM操作实用程序功能。 在你的情况下像:

<a id="myLink">my anchor</a>
...
<script type="text/javascript">
    getElementById('myLink').href = doSomething(); 
</script>