繁体   English   中英

javascript不在window.load上执行

[英]javascript doesn't execute on window.load

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

在上面的示例中,仅当用户单击锚点时才调用doSomething()。 如果希望它在window.load上执行,则需要将代码放在头部。

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

另外,如果您将大量使用onload事件,我个人建议使用jQuery并使用“ on DOM ready”事件。 这样,您的javascript对最终用户来说将是无缝的,并且不会产生闪烁效果。

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

假设您提出了所有其他建议,那么在代码的后面(在您的<body onload=...window.onload = ... ),总有人会完全一样,并且已经覆盖了您。
如果碰巧是这种情况(可能性很小),支持两个onload钩子的解决方案是window.attachEvent("onload", doSomething)

如果我正确理解了您的问题,则希望在一个元素中设置一个属性,并通过javascript动态地对其进行计算,以便在加载页面时,您的链接指向“ doSomething()”的返回值。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM