好吧,这可能只是一个愚蠢的问题,但我确信还有很多其他人不时会问同样的问题.我,我只是想以任何方式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)
...或者我甚至可以在所有内容之后尝试在页面底部,但结尾body或html标记如:
<script type="text/javascript">
myFunction();
</script>
Run Code Online (Sandbox Code Playgroud)
什么是以jQuery方式发布一个或多个函数的跨浏览器(旧/新)兼容方法$.ready()?
我想在文档加载后调用函数,但文档可能已经或可能尚未完成加载.如果它加载了,那么我可以调用该函数.如果它没有加载,那么我可以附加一个事件监听器.我无法在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)