if $(document).not-ready()? 如何检查页面是否仍在加载Jquery?

我只想在文档仍在加载时才调用函数..我该怎么办?

您可以检查document.readyState或在全局范围中使用简单变量:

 var ready = false; $(document).ready(function () { ready = true; }); 

您可以在JavaScript中正常运行函数并在jQuery.ready覆盖它:

 function foo() { // … } $(document).ready(function() { foo = function() {}; }); foo(); 

现在,如果foo递归方式调用自身,则在文档准备好时重新定义foo时它将停止。

您可以使用非常有用的jQuery延迟对象来检查文档是否尚未加载:

http://api.jquery.com/category/deferred-object/

http://eng.wealthfront.com/2012/12/jquerydeferred-is-most-important-client.html

例如

 (function($) { var jqReady = $.Deferred(); // Bind doc ready to my deferred object $(document).bind("ready", jqReady.resolve); // Check to see is doc is ready if(jqReady.state() !== 'resolved'){ alert('Doc is not ready'); } $.when(jqReady).then(function () { // Code here will run when doc is ready/state === 'resolved' alert('Doc is ready'); }); })(jQuery);​ 

jsFiddle示例