ホームページ  >  記事  >  ウェブフロントエンド  >  jQueryのreadyメソッド_jqueryの詳細説明

jQueryのreadyメソッド_jqueryの詳細説明

WBOY
WBOYオリジナル
2016-05-16 16:30:001779ブラウズ

jQuery のready メソッドは、ページがロードされた後にのみ実行されるという効果を実現しますが、window.onload または document.onload のパッケージではなく、標準の W3C ブラウザ DOM を使用して API を非表示にします。 IE ブラウザの不具合を修正しました。まず、jQuery コードを見てみましょう

コードをコピーします コードは次のとおりです:

DOMContentLoaded = function()
{
//イベント監視をキャンセルし、readyメソッドを実行 if (document.addEventListener)
{ document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); jQuery.ready(); }
else if (document.readyState === "complete")
{
document.detachEvent( "onreadystatechange", DOMContentLoaded ); jQuery.ready(); }
};





コードをコピー

コードは次のとおりです:

jQuery.ready.promise = function( obj ) {
If (!readyList) {
readyList = jQuery.Deferred(); // ページがロードされたことを示し、ready メソッドを直接呼び出します if (document.readyState === "complete") {
                                                                                                                                                                                                                                                                                                                                        else if (document.addEventListener) //                                                                                                                                                                                                                                                                                                        //これは、DOMContentLoaded メソッドが実行されると、ステータス値 isReady が true に設定されるため、//ready メソッドは一度実行されると 1 回だけ実行されます。 window.addEventListener の準備完了は return window.addEventListener( "load", jQuery.ready, false ); によって中断されます。 } else {
使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する‐‐ window.attachEvent( "onload", jQuery.ready ); var トップ = false; {
を試してください top = window.frameElement == null && document.documentElement; } catch(e) {}
If ( top && top.doScroll ) // iframe コンポーネントを削除します (関数 doScrollCheck() {
If ( !jQuery.isReady ) {
{
を試してください //バグに基づいて、IE の下位バージョンと互換性があります
http://javascript.nwbox.com/IEContentLoaded/
} catch(e){ // IE ブラウザのバージョンが低いため、OnreadyStateChange インシデントは信頼できないため、Return Settimeout (DOSCROLLLCHECK, 50) を完了するには、各バグに従ってページがロードされたかどうかを判断する必要があります。                                                                                                         jQuery.ready();                                                                                                                                                                              })();}
}
}
リターンreadyList.promise(obj); };

コードをコピーします コードは次のとおりです:
準備完了: function( wait )
{
if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
//ページの読み込みが完了したかどうか、およびreadyメソッドが実行されたかどうかを判断します
戻る;
}
if ( !document.body ) {
return setTimeout( jQuery.ready );
}
jQuery.isReady = true //ready メソッドが実行されたことを示します
if ( wait !== true && --jQuery.readyWait > 0 ) {
戻る;
}
readyList.resolveWith( document, [ jQuery ] );
if (jQuery.fn.trigger) {
jQuery(ドキュメント).trigger("準備完了").off("準備完了"); }
}、


概要:

ページが読み込まれるときは 2 つのイベントがあります。1 つは準備完了であり、ドキュメント構造が読み込まれたことを示します (画像などの非テキスト メディア ファイルは除きます)。もう 1 つは onload で、ページのすべての要素が読み込まれたことを示します。画像やその他のファイルを含むページがロードされました。 (つまり、ready は onload の前にロードされます!!!)

画像サイズ制御などの一般的なスタイル制御は onload

でロードされます。 jS イベントによってトリガーされるメソッドは、ready;
でロードできます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。