-2

私のドキュメントには、この例のように与えられたonLoad関数があります。

<body onLoad="display()">

さらに、ドキュメントの最後に、いくつかのCSSプロパティを変更する関数を追加しました。

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

どういうわけか、すべてがうまくいきません!ドキュメントの最後にすべての関数を追加しようとしましたが、取得できません。どういうわけか、それらはトリガーされません。

4

2 に答える 2

3

display()最初のケースでは、関数がエラーなしで定義されている限り、機能しない理由がわかりません。

2 番目のケースでは、DOM を介してイベント ハンドラーを割り当てるときに、関数参照を渡すか (つまり、 の代わりに)、次のfoo()よう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 に答える