1

次のように、jQueryのdocument.readyからonloadイベントを呼び出すことはできますか?

$(function() {
onloadfunc(param);
});

VS:

<body onload = "onloadfunc(param);">

上記の2つは同じですか?

onloadfunc(param);を呼び出すにはどうすればよいですか。DOM対応ではなくロード時のJQueryで?

4

2 に答える 2

4

いいえ、これ:

$(function() {
});

と同等です

$(document).ready(function(){
});

これは、onloadイベントの前にトリガーされます。

onload次のようにjQueryで呼び出すことができます:

$(window).load(function(){
});

-

あなたの質問に答えるために、あなたはこのようなことをすることができます:

$(document).ready(function(){
    $(window).load(function(){
        onloadfunc(param);
    });
});

これは私が今まで書いた中で最高のコードではありません...:D

于 2012-12-03T13:25:04.067 に答える
0

$(document).ready()jQueryイベントは、onloadよりも早く発生します。loadイベントは、すべてのアセットが完全にロードされるのを待ちます。

JavaScriptは、ページがレンダリングされたときにコードを実行するためのロードイベントを提供しますが、このイベントは、画像などのすべてのアセットが完全に受信されるまでトリガーされません。ほとんどの場合、DOM階層が完全に構築されるとすぐに、スクリプトを実行できます。.ready()に渡されたハンドラーは、DOMの準備ができた後に実行されることが保証されているため、通常、これは他のすべてのイベントハンドラーをアタッチし、他のjQueryコードを実行するのに最適な場所です。CSSスタイルプロパティの値に依存するスクリプトを使用する場合、スクリプトを参照する前に、外部スタイルシートを参照するか、スタイル要素を埋め込むことが重要です。

于 2012-12-03T13:29:10.917 に答える