$(window).load(function() {})和$(document).ready(function(){})的区别
JavaScript 中的以下代码 :
Window.onload
= function (){// 代码 }
等价于
Jquery 代码如下:
$(window).load(function
(){// 代码 });
$(function(){})等价于 $(document).ready(function(){});
$(function(){})是 $(document).ready(function(){})的简写
执行时机
window.load——必须等待网页中所有的内容加载完毕后 ( 包括图片 ) 才能执行
$(window).load(function (){// 代码
}); ——必须等待网页中所有的内容加载完毕后 ( 包括图片 ) 才能执行
$(document).ready()——网页中所有
DOM 结构绘制完毕后就执行,可以能 DOM 元素关联的内容并没有加载完
编写个数
window.load——不能同时编写多个以下代码无法正确执行:
window.onload
= function(){ alert(“text1”);};window.onload = function(){ alert(“text2”);};结果只输出第二个
注意:JavaScript的onload事件一次只能保存对一个函数的引用,他会自动用最后面的函数覆盖前面的函数。因为window.load是DOM2级事件,而$(window).load(function (){// 代码 });可以使用多次,只是前后执行,因为用的是DOM3级事件。
$(document).ready()——能同时编写多个以下代码正确执行:
$(document).ready(function(){
alert(“Hello World”);});$(document).ready(function(){ alert(“Hello again”);});
结果两次都输出
以 浏览器装载文档为例,在页面加载完毕后,浏览器会通过 Javascript 为 DOM 元素添加事件。在常规的 Javascript 代码中,通常使用 window.onload 方法,而在 Jquery 中,使用的是$(document).ready() 方法。 $(document).ready() 方法是事件模块中最重要一个函数,可以极大的提高Web
应用程序的速度。
另外,需要注意一点,由于在 $(document).ready()
方法内注册的事件,只要 DOM 就绪就会被执行,因此可能此时元素的关联文件未下载完。
例如与图片有关的 html 下载完毕,并且已经解析为 DOM 树了,但很有可能图片还没有加载完毕,所以例如图片的高度和宽度这样的属性此时不一定有效。要解决这个问题,可以使用 Jquery 中另一个关于页面加载的方法 ---load() 方法。
Load() 方法会在元素的onload 事件中绑定一个处理函数。
如果处理函数绑定给 window 对象,则会在所有内容 ( 包括窗口、框架、对象和图像等 ) 加载完毕后触发,如果处理函数绑定在元素上,则会在元素的内容加载完毕后触发。
随机推荐
- JavaScript技巧[转载]
在这篇文章中将给大家分享12个有关于JavaScript的小技巧.这些小技巧可能在你的实际工作中或许能帮助你解决一些问题. 使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是 ...
- iOS UISlider的使用
UISlider是一个方便的控件,让用户能够以可视化的方式设置指定范围内的值. 和按钮一样,滑块也能响应事件,还可像文本框一样被读取.如果希望用户对滑块的调整立刻影响应用程序,则需要让他触发操作. 下 ...
- 【Leafletjs】6.Control.Loading推展-在地图上边框添加加载动态条
在已有的Control.Loading控件基础上结合CSS3 animation属性实现 .nz-loading .nz-loader { display: block; -webkit-animat ...
- iOS自动化编译
最近研究了一下iOS的自动化编译,目的是为了简化测试和开发的同学沟通协调的次数,实现测试同学可以随时从网页操作编译SVN最新源码并打包ipa进行测试. 具体思路是通过从配置文件读取需要编译的项目配置列 ...
- 如何正确使用Cocoapods
➠更多技术干货请戳:听云博客 一.介绍Cocoapods Cocoapods是引入为项目引入新血液的接口,只有引入了新血液,功能才可以多样化,进而满足不同的消费群体.使用Cocoapods可以方便日后 ...
- XCode设置(怎么让代码收缩)
有时候刚使用一台电脑 可能会没有代码收缩的功能. 在哪里设置呢?看图 打开xcode 的 偏好设置 找到textEditing 把Code folding勾选上 就可以了
- 【Android】保存Fragment切换状态
前言 一般频繁切换Fragment会导致频繁的释放和创建,如果Fragment比较臃肿体验就非常不好了,这里分享一个方法. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.c ...
- Android网络请求框架
本篇主要介绍一下Android中经常用到的网络请求框架: 客户端网络请求,就是客户端发起网络请求,经过网络框架的特殊处理,让后将请求发送的服务器,服务器根据 请求的参数,返回客户端需要的数据,经过网络 ...
- 16、总经理要阅读的书籍 - IT软件人员书籍系列文章
总经理是公司的一个领导角色.他主要负责公司级别的比如规划,战略等等内容.有些公司的总经理,比如软件公司的总经理,往往是一个大的业务员,将更多的大型的软件项目投取过来,让公司能够有钱赚,让公司员工能够跟 ...
- Asp.net MVC的Model Binder工作流程以及扩展方法(2) - Binder Attribute
上篇文章中分析了Custom Binder的弊端: 由于Custom Binder是和具体的类型相关,比如指定类型A由我们的Custom Binder解析,那么导致系统运行中的所有Action的访问参 ...