js之当页面加载$(document).ready(function(){})和window.onload=function(){}的区别
来源:互联网 发布:nginx 子域名映射 编辑:程序博客网 时间:2024/05/17 03:41
在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('onreadytstatechange', 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。
这个大家还是亲手试试吧!
=============================
以上来信息源于百度搜索。。。总的来说ready比onload要先触发
阅读全文
0 0
- js之当页面加载$(document).ready(function(){})和window.onload=function(){}的区别
- $(document).ready(function () {})和 window.onload = function () {}的区别
- window.onload=function(){}和$(document).ready(function(){})的区别
- $(document).ready()、 $(function(){})、$().ready(function(){})和window.onload的区别
- window.onload和$(document).ready(function(){})区别
- $(document).ready(function() 总结以及和window.onload的区别
- window.onload和$(document).ready(function(){})的区别
- $(window).load(function() {}),$(document).ready(function(){}),body.Onload()的区别
- window.onload=function(){}与$(document).ready(function(){})区别
- window.onload=function(){}与$(document).ready(function (){})区别
- 页面加载完成之后执行js函数window.onload 和 $().ready(function) 以及 <body onload="">的同级函数详解
- 页面加载之window.onload=function(){} 和 $(function(){})的区别
- jquery与javascript中的两个页面加载事件 window.onload 与 $(document).ready(function(){})区别
- window.onload和$(document).ready(function(){})
- jq的 $(function(){}) , document.ready 与 window.onload 的区别
- JS 页面加载触发事件 document.ready和window.onload的区别
- JS 页面加载触发事件 document.ready和window.onload的区别
- $.(document).ready(function{})&&window.onload
- spring 事务 @Transactional注解参数 tx:annotation-driven
- PHPstorm使用git上传代码
- 写给大数据开发初学者的话
- Windows 10, 1703连接VPN后无法上网
- Qt文件操作
- js之当页面加载$(document).ready(function(){})和window.onload=function(){}的区别
- 谈谈主席树的那些事儿
- bzoj 2761 不重复数字
- 石子合并
- laravel5.4使用socialite实现github登录
- static修饰的静态方法
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:内部搜索功能的实现
- VS比QTCreator编译速度快近一倍的原因调查与分析
- javascript中的call()方法和apply()方法用法总结