您好,登錄后才能下訂單哦!
IE中JavaScript DOM ready應用技巧有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
有時候,如果我們只需要對DOM進行操作,那么這時就沒必要等到頁面全部加載了,我們需要更快的方法。Firefox有DOMContentLoaded事件可以輕松解決,可惜的就是IE沒有。
MSDN關于JavaScript的一個方法有段不起眼的話,當頁面DOM未加載完成時,調用doScroll方法時,會產生異常。那么我們反過來用,如果不異常,那么就是頁面DOM加載完畢了!
function IEContentLoaded (w, fn) { var d = w.document, done = false, // only fire once init = function () { if (!done) { done = true; fn(); } };
// polling for no errors (function () { try { // throws errors until after ondocumentready d.documentElement.doScroll('left'); } catch (e) { setTimeout(arguments.callee, 50); return; } // no errors, fire init(); })();
// trying to always fire before onload d.onreadystatechange = function() { if (d.readyState == 'complete') { d.onreadystatechange = null; init(); } }; }
這個函數是Diego Perini在07年就發布了這個方法,而且獲得了廣泛認同,以至于現在許多開源框架都是借鑒這種方法,譬如jQuery中的ready。如果以后需要用到IE的DomReady,就是它了。用法:
IEContentLoaded( document.getElementById("test") , test ); function test(){ }
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。