解决方案 »

  1.   

    发错了..是这个.. completed = function() {
              document.removeEventListener( "DOMContentLoaded", completed, false );
              window.removeEventListener( "load", completed, false );
              jQuery.ready();
         };
      

  2.   

     completed = function() {
    //completed 定义一个函数
              document.removeEventListener( "DOMContentLoaded", completed, false );
              //文档移除监听事件,事件名是"DOMContentLoaded",监听函数是completed(也就是本函数)
              window.removeEventListener( "load", completed, false );
              //本窗口移除load监听事件 load是加载完的意思。
              jQuery.ready();//执行ready()函数,这也就是为什么$(document).ready()表示文档加载完后才执行的原因。
         };
      

  3.   

    不是,
    你要知道,在什么情况下执行completed。看jQuery.ready.promise
    绑了document.addEventListener( "DOMContentLoaded", completed, false ); // A fallback to window.onload, that will always work
    window.addEventListener( "load", completed, false );completed = function( event ) { // readyState === "complete" is good enough for us to call the dom ready in oldIE
    if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) {
    detach();
    jQuery.ready();
    }
    },
    // Clean-up method for dom ready events
    detach = function() {
    if ( document.addEventListener ) {
    document.removeEventListener( "DOMContentLoaded", completed, false );
    window.removeEventListener( "load", completed, false ); } else {
    document.detachEvent( "onreadystatechange", completed );
    window.detachEvent( "onload", completed );
    }
    };