如果jQuery不可用,有没有办法检查document.ready()?

时间:2011-04-18 17:46:43

标签: javascript

  

可能重复:
  $(document).ready equivalent without jQuery

我知道你可以使用window.onload事件来运行函数,但是有没有办法让脚本查询文档是否准备就绪?

这样的东西
function update()
{
    if( !document.ready() )  // don't do unless document loaded
        return ;
}
window.setInterval( 'update();', 100 ) ;

无法更改< body>元素,没有jQuery /其他库。

3 个答案:

答案 0 :(得分:72)

你走了:

var tid = setInterval( function () {
    if ( document.readyState !== 'complete' ) return;
    clearInterval( tid );       
    // do your work
}, 100 );

了解document.readyState属性here。我不确定当前所有浏览器是否都实现了它。

答案 1 :(得分:2)

结帐https://github.com/jakobmattsson/onDomReady

比几行更复杂! - 如果您想要多个浏览器合规性。

答案 2 :(得分:-6)

此代码适用于所有浏览器

if(window.attachEvent()){

    window.attachEvent("onload",load);

 }else{

    window.addEventListener("load",load,true);

 }

 function load(){
    //Code to execute when the document is loaded.
 }