JS 页面加载触发事件 document.ready和window.onload的区别

document.ready和onload的区别——JavaScript文档加载完成事件
页面加载完成有两种事件:javascript

一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件);css

二是onload,指示页面包含图片等文件在内的全部元素都加载完成。html

 

一、Dom Readyjava

使用jq时通常都是这么开始写脚本的:spa

$(function(){ 
      // do something 
});

例如:code

$(function() {
     $("a").click(function() {
           alert("Hello world!");
      });
})

这个例子就是给全部的a标签绑定了一个click事件。即当全部连接被鼠标单击的时候,都执行 alert("Hello World!");
也就是说页面加载时绑定,真正该触发时触发。
其实这个就是jq ready()的简写,它等价于:htm

$(document).ready(function(){
     //do something
})
//或者下面这个方法,jQuer的默认参数是:“document”;
$().ready(function(){
    //do something
})

这个就是jq ready()的方法就是Dom Ready,他的做用或者意义就是:在DOM加载完成后就能够能够对DOM进行操做。
通常状况一个页面响应加载的顺序是,域名解析-加载html-加载js和css-加载图片等其余信息。
那么Dom Ready应该在“加载js和css”和“加载图片等其余信息”之间,就能够操做Dom了。blog

 

二、Dom Load事件

用原生的js的时候咱们一般用onload时间来作一些事情,好比: 图片

window.onload=function(){
      //do something
}
//或者常常用到的图片
document.getElementById("imgID").onload=function(){
     //do something
}

这种就是Dom Load,他的做用或者意义就是:在document文档加载完成后就能够对DOM进行操做,document文档包括了加载图片等其余信息。
那么Dom Load就是在页面响应加载的顺序中的“加载图片等其余信息”以后,就能够操做Dom了。

 

最后附上一段在全部DOM元素加载以前执行的jQuery代码。

<script type="text/javascript">
(function() {
            alert("DOM还没加载哦!");
        })(jQuery)
</script>
相关文章
相关标签/搜索