javascriptdocument load 和document ready的区别

页面加载完成有两种事件,一是ready , 表示文档结构已经加载完成(貋图片等非文字媒体文件),二是onload 指示页面包含图片等文件在内的全部元素都加载完成。
 
1.执行时间不一样:
从字面的意思上理解,$(document).ready()就是文档准备好了。也就是浏览器已经解析完整个html文档,dom树已经创建起来了,这时就能够经过class属性或者id属性等等对dom进行操做等。而$(window).load()就是整个页面已经加载完毕。与前者的区别是dom树虽然已经创建起来了,但页面不必定加载完毕,如一些大的图片等,加载完成就须要必定的时间;可是页面加载完毕后,dom确定也就创建起来了;可是有些文字或者图片连接等须要在文档加载完毕前,dom树创建后就进行的,这时就要用到$(document).ready()了。

2.能够被执行的次数不一样:html

$(document).ready()能够在JavaScript代码中出现屡次,而且里面的函数或者代码均可以获得执行;而$(window).load()只能在JavaScript代码中出现一次,若是有多个$(window).load(),那么只有最后一个$(window).load()里面的函数或者代码才会执行,以前的$(window).load()都将被覆盖;浏览器

3.执行的效率不一样:
如要在dom的元素节点中添加onclick属性节点,这时用$(document).ready()就要比用$(window).load()的效率高;可是在某些时候还必须得用$(window).load()才行,如以前写的app下载,若是要关闭这个下载框,则必需要在整个下载框加载完毕后,才能点击关闭图标,对app下载框执行隐藏。app

<script>

$(document).ready(function(){
  $(".the_body a").attr("onclick","alert('test')");
});

$(window).load(function(){
   $(".close_btn").click(function(){
        $("#app_down").hide();
    });
});
</script>
 
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">dom



相关文章
相关标签/搜索