最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript IE中的DOM ready應(yīng)用技巧

 更新時(shí)間:2008年07月23日 20:31:34   作者:  
當(dāng)我們想在頁(yè)面加載之后執(zhí)行某個(gè)函數(shù),肯定會(huì)想到onload了 但onload在瀏覽器看來(lái),就是頁(yè)面上的東西全部都加載完畢后才能發(fā)生,但那就為時(shí)已晚了。
 如果只需要對(duì)DOM進(jìn)行操作,那么這時(shí)就沒(méi)必要等到頁(yè)面全部加載了。我們需要更快的方法。
      Firefox有DOMContentLoaded事件可以輕松解決,可惜的就是IE沒(méi)有。 
      MSDN關(guān)于JSCRIPT的一個(gè)方法有段不起眼的話,當(dāng)頁(yè)面DOM未加載完成時(shí),調(diào)用doScroll方法時(shí),會(huì)產(chǎn)生異常。那么我們反過(guò)來(lái)用,如果不異常,那么就是頁(yè)面DOM加載完畢了!
復(fù)制代碼 代碼如下:

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();        
        }        
    };        
}

這個(gè)函數(shù)是Diego Perini在07年就發(fā)布了這個(gè)方法,
而且獲得了廣泛認(rèn)同,以至于現(xiàn)在許多開(kāi)源框架都是借鑒這種方法,譬如JQuery中的ready。

如果以后需要用到IE的DomReady,就是他了。

用法:
IEContentLoaded(  document.getElementById("test") , test  );

function test(){  }

相關(guān)文章

最新評(píng)論

尉犁县| 泰宁县| 内江市| 巴青县| 中方县| 宣恩县| 和平县| 金门县| 迭部县| 泽州县| 绥阳县| 万年县| 亚东县| 尼勒克县| 佛坪县| 屯留县| 河南省| 专栏| 阳信县| 东莞市| 巴塘县| 平远县| 那坡县| 漳平市| 抚远县| 万宁市| 闵行区| 镶黄旗| 松江区| 长阳| 温宿县| 玛曲县| 嵊泗县| 本溪市| 密山市| 锦屏县| 浏阳市| 临夏市| 松溪县| 上林县| 苗栗市|