Javascript 在 JQuery 中,如何检查 DOM 是否准备就绪?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/8373910/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-24 05:44:11  来源:igfitidea点击:

In JQuery, how do I check if the DOM is ready?

javascriptjquery

提问by TIMEX

Possible Duplicate:
javascript domready?

可能重复:
javascript domready?

I want to check whether $(function(){ });is "ready".

我想检查是否$(function(){ });“准备好”。

Return true if DOM is ready, false otherwise

如果 DOM 准备好返回真,否则返回假

回答by Sudhir Bastakoti

From jQuery code

来自 jQuery 代码

if ( jQuery.isReady ) {  
    fn.call( document, jQuery );
} 

回答by ma?ek

You can use the explicit call

您可以使用显式调用

$(document).ready(function(){
  // do this after dom is ready
});

Or use the shortcut

或者使用快捷方式

$(function(){
  // do this after dom is ready
});

It's also useful to wrap your jQuery in an anonymous function when you're using other libraries; Also very common to use this when writing jQuery plugins.

当您使用其他库时,将 jQuery 包装在匿名函数中也很有用;在编写 jQuery 插件时使用它也很常见。

(function($, window){
  // use $ here freely if you think any other library might have overridden it outside.
  $(function(){
    // do this after dom is ready
  });
})(jQuery, window);

Lastly, you can use jQuery.isReady(bool)

最后,您可以使用jQuery.isReady(bool)

if (jQuery.isReady) {
  // do something
}

回答by landons

That function will only execute when the dom is ready. That's the point of wrapping your code in that function ;). Having said that, some things (like images, deferred scripts, etc.) might not be fully loaded or rendered yet, so be aware.

该函数只会在 dom 准备好时执行。这就是将代码包装在该函数中的重点;)。话虽如此,有些东西(如图像、延迟脚本等)可能尚未完全加载或呈现,因此请注意。

回答by Sophie Alpert

You can use jQuery.isReady, but it's undocumented and should be avoided.

您可以使用jQuery.isReady,但它没有记录,应该避免使用。

If you just need to run something after the DOM is ready, you can just call

如果你只需要在 DOM 准备好后运行一些东西,你可以调用

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

as normal – that will run the code immediately if the DOM is ready and wait until it is if not.

像往常一样 - 如果 DOM 准备好,它将立即运行代码,如果没有,则等待它。