-2

在我的文档中,我在此示例中给出了一个 onLoad 函数:

<body onLoad="display()">

此外,我在文档末尾添加了一个函数,它改变了一些 CSS 属性:

<script>
window.onload = foo(), bar();
</script> 

不知何故,整个事情都不起作用!我试图在文档末尾添加所有功能,但我不明白,不知何故它们不会触发!

4

2 回答 2

3

在第一种情况下,我看不出它不应该工作的原因,只要display()定义的函数没有错误。

在第二种情况下,当通过 DOM 分配事件处理程序时,您需要传递函数引用(即,而不是foo()just foo)或将其包装在匿名函数中,如下所示:

window.onload = function() {
  foo();
}
于 2013-02-20T16:37:06.347 回答
3

这将调用函数,但它不会分配任何有用的东西,window.onload除非你的最后一个函数恰好返回一个函数。

您需要分配一个函数,该函数将在准备好window.onload时调用您的函数。window

window.onload = function() {
    foo();
    bar();
};

另外,由于您将脚本放在底部,因此您可能不需要window.onload.

    <script>
        foo(); bar();
    </script>
</body>

您还应该知道,直接分配给window.onload将覆盖在 中分配的脚本<body onLoad=...>,因此您不应该两者都做。目前, 的返回值bar();正在清除调用 的函数display();

摆脱window.onload分配将解决这个问题。

于 2013-02-20T16:37:20.320 回答