博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
document.ready和window.onload的区别
阅读量:5071 次
发布时间:2019-06-12

本文共 1456 字,大约阅读时间需要 4 分钟。

  在Jquery里面,我们可以看到两种写法:$(function(){}) 和$(document).ready(function(){})

  这两个方法的效果都是一样的,都是在dom文档树加载完之后执行一个函数(注意,这里面的文档树加载完不代表全部文件加载完)。

  而window.onload是在dom文档树加载完和所有文件加载完之后执行一个函数。也就是说$(document).ready要比window.onload先执行。

  那么Jquery里面$(document).ready函数的内部是怎么实现的呢?下面我们就来看看:

  我们来为document添加一个ready函数:

document.ready = function (callback) {            ///兼容FF,Google            if (document.addEventListener) {                document.addEventListener('DOMContentLoaded', function () {                    document.removeEventListener('DOMContentLoaded', arguments.callee, false);                    callback();                }, false)            }             //兼容IE            else if (document.attachEvent) {                document.attachEvent('onreadystatechange', function () {                      if (document.readyState == "complete") {                                document.detachEvent("onreadystatechange", arguments.callee);                                callback();                       }                })            }            else if (document.lastChild == document.body) {                callback();            }        }

  document.ready这个函数是实现了。我们再来验证一下最上面所说的“ready要比onload先执行”:

window.onload = function () {            alert('onload');        };        document.ready(function () {            alert('ready');        });

  执行这段代码之后,你会看到浏览器里面会先弹出“ready”,在弹出onload。

  这个大家还是亲手试试吧!

 

  

 

转载于:https://www.cnblogs.com/exhuasted/p/6774871.html

你可能感兴趣的文章
HTML--CSS样式表--格式与布局
查看>>
DELPHI 判断文件夹是否存在,递归创建文件夹
查看>>
关于大型网站技术演进的思考(二十)--网站静态化处理—web前端优化—中(12)...
查看>>
[SQL Server常用系统存储过程大全]
查看>>
css3 UI元素状态伪类选择器
查看>>
Beta 冲刺 六
查看>>
公司python入职培训流程
查看>>
[JSOI2008]最大数
查看>>
__asm__ __volatile__("": : :"memory")
查看>>
Kubernetes存储之Persistent Volumes简介
查看>>
[bzoj3343] 教主的魔法
查看>>
[51nod1299]监狱逃离
查看>>
Python3学习笔记十八
查看>>
C#删除程序自身【总结】
查看>>
String关键字
查看>>
移植u-boot-2010.03问题 --- raise: Signal # 8 caught
查看>>
POJ2228 Naptime
查看>>
bzoj 3566 [SHOI2014]概率充电器——树型
查看>>
洛谷 1344 [USACO4.4]追查坏牛奶Pollutant Control——最大流
查看>>
mysql 5.7.20 server status 是stopped的解决办法
查看>>