你怎么知道文件是否准备好了

时间:2010-08-23 16:03:46

标签: jquery

我有一个生成HTML块的JavaScript。此脚本有时在运行时调用,有时在加载文档之前调用。我想要一个能够判断文档是否准备就绪的脚本。如果是,则生成HTML,否则,添加document.ready()函数。什么是jQuery知道文档是否已加载的最佳方式?

7 个答案:

答案 0 :(得分:7)

$(document).ready(
    function() {
        //code to execute once the page is loaded
    }
);

答案 1 :(得分:4)

使用load事件:

$(window).load(function(){
  // your code...
});

使用load事件,DOM,图像,框架和任何其他外部资源都会加载到文档中。

答案 2 :(得分:2)

您可以使用ready事件在加载DOM后运行

$(document).ready( function() {
  // your function
});

或加载事件,等待绝对一切都加载

$(document).load( function() {
  // your function
});

除非你知道你需要使用load事件,否则我会使用ready命令(我认为是DOMContentLoaded事件)。

答案 3 :(得分:1)

始终将$ HTML生成代码包装在$(document).ready()中是安全的。如果文档已经准备就绪,则会立即执行新注册的$(document).ready()回调。

答案 4 :(得分:0)

http://www.learningjquery.com/2006/09/introducing-document-ready

 $(document).ready(function() {
   // put all your jQuery goodness in here.
 });

答案 5 :(得分:0)

$(function() {
    // document has loaded at this point
});

答案 6 :(得分:0)

我也碰到了这个。我有一个自动隐藏机制,在加载其余文档时会触发得太快(如果是第一次显示的话)。通过添加一个在document.ready()上翻转为TRUE的全局布尔值,我可以轻松解决问题。

在我的JS顶部:

var documentReady = false;

我的onReady功能:

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