dom がロードされた後、それが実行されます。インターネット上のいくつかのメソッドのロジックが理解できなかったので、「Jquery ソース コードの研究 (ready function)」の記事を読んでから書きました。以下のコードを自分で作成しました(詳細な説明が記載されています) コードをコピー コードは次のとおりです: org/1999 /xhtml"> <br>var Darren; <br>(function(){ <br>var isReady=false; // ロードされているかどうか <br>var readBound=false; // ループが呼び出されたかどうかを判断する Event <br>varreadylist=[]; //実行する必要があるメソッドをこの配列に一時的に保存します <br>//ブラウザを決定します。このメソッドは Cloudgamer JavaScript Library v0.1 からのものです <br>var Browser = (function ( ua){ <br>var b = { <br>msie: /msie/.test(ua) && !/opera/.test(ua), <br>opera: /opera/.test(ua), <br>safari: /webkit/.test(ua) && !/chrome/.test(ua)、<br>firefox: /firefox/.test(ua)、<br>chrome: /chrome/.test(ua) <br>}; <br>var vMark = ""; <br>for (var i in b) { <br>if (b[i]) { <br>vMark = i; } <br>if (b.safari) { <br>vMark = "バージョン"; <br>} <br>b.version = RegExp("(?:" vMark ")[\/: ]([\d . ] )").test(ua) ? RegExp.$1 : "0"; <br>b.ie = b.msie; <br>b.ie6 = b.msie && parseInt(b.version) == 6 ; <br>b.ie7 = b.msie && parseInt(b.version) == 7; <br>b.ie8 = b.msie && parseInt(b.version) == 8; 🎜 >})(window.navigator.userAgent.toLowerCase()); <br>function bindingReady() <br>{ <br>if(readBound){ // bindingReady メソッドが 1 回だけ実行されるようにする <br>return ; <br> } <br>readBound=true; <br>//IE でフレーム内にネストされていない場合 <br>if (Browser.msie && window==top) <br>{ <br>(function(){ <br>if (isReady) { <br>return; <br>} <br>try { <br>document.documentElement.doScroll("left"); // dom がロードされていない場合、エラーが報告されます。 <br>} <br>catch (error) { <br>setTimeout(arguments.callee, 0); // ループ内で親関数、つまり、ready メソッドを呼び出します <br>return; 🎜>Test.Done(); <br> })(); <br>}else if(Browser.firefox)//FF の場合 <br>{ <br>document.addEventListener( "DOMContentLoaded", Test.Done, false ); <br>} <br>} <br>var Test={ <br>ready:function(fn){ <br>bindReady();//読み込みが完了したかどうかを判定 <br>if(isReady) <br>{ <br>fn.call(document) ; //ロード後、<br>}else{ <br>readylist.push(fn) を直接呼び出します。 //ロードが完了していない場合は、このメソッドを一時的に保存します。後で呼び出すためのreadylist配列 <br>} <br>return this; <br>} <br>} //静的メソッド: <br>Test.Done=function(){ <br> if (!isReady) { <br>isReady= true; <br>readylist[0].call(document) <br>} <br>Darren=Test; 🎜>//Test<br>Darren.ready (function(){ <br>alert("my"); <br>document.getElementById("test").innerHTML="haha" //dom の読み取りに成功しました <br>}); <br>$(function (){alert("jq")}); <br>window.onload=function(){alert("default")} <br> >