相关疑难解决方法(0)

纯JavaScript相当于jQuery的$ .ready() - 如何在页面/ DOM准备就绪时调用函数

好吧,这可能只是一个愚蠢的问题,但我确信还有很多其他人不时会问同样的问题.我,我只是想以任何方式100%确定.有了jQuery,我们都知道这很精彩

$('document').ready(function(){});
Run Code Online (Sandbox Code Playgroud)

但是,假设我想运行一个用标准JavaScript编写的函数,没有库支持它,并且我想在页面准备好处理它时立即启动一个函数.什么是正确的方法来解决这个问题?

我知道我能做到:

window.onload="myFunction()";
Run Code Online (Sandbox Code Playgroud)

......或者我可以使用body标签:

<body onload="myFunction()">
Run Code Online (Sandbox Code Playgroud)

...或者我甚至可以在所有内容之后尝试在页面底部,但结尾bodyhtml标记如:

<script type="text/javascript">
   myFunction();
</script>
Run Code Online (Sandbox Code Playgroud)

什么是以jQuery方式发布一个或多个函数的跨浏览器(旧/新)兼容方法$.ready()

html javascript jquery

1244
推荐指数
8
解决办法
129万
查看次数

Javascript - 如何检测文档是否已加载(IE 7/Firefox 3)

我想在文档加载后调用函数,但文档可能已经或可能尚未完成加载.如果它加载了,那么我可以调用该函数.如果它没有加载,那么我可以附加一个事件监听器.我无法在onload已经触发后添加一个eventlistener,因为它不会被调用.那么如何检查文档是否已加载?我尝试了下面的代码,但它并不完全有用.有任何想法吗?

var body = document.getElementsByTagName('BODY')[0];
// CONDITION DOES NOT WORK
if (body && body.readyState == 'loaded') {
    DoStuffFunction();
} else {
    // CODE BELOW WORKS
    if (window.addEventListener) {  
        window.addEventListener('load', DoStuffFunction, false);
    } else {
        window.attachEvent('onload', DoStuffFunction);
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript events onload addeventlistener

157
推荐指数
5
解决办法
29万
查看次数

标签 统计

javascript ×2

addeventlistener ×1

events ×1

html ×1

jquery ×1

onload ×1