$(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 对象,则会在所有内容 ( 包括窗口、框架、对象和图像等 ) 加载完毕后触发,如果处理函数绑定在元素上,则会在元素的内容加载完毕后触发。
随机推荐
- MediaWiki使用指南
MediaWiki使用指南 MediaWiki是著名的开源wiki引擎,全球最大的wiki项目维基百科(百科词条协作系统)是使用MediaWiki的成功范例,MediaWiki的最大作用在于对知识的归 ...
- 规划在sharepoint中使用安全组
简介 如果将权限级别分配给组而非单个用户,那么管理 SharePoint 网站用户其实很简单.SharePoint 组是一组单独的用户,它还可以包含 Active Directory 组.在 Acti ...
- 读jQuery源码 - Callbacks
代码的本质突出顺序.有序这一概念,尤其在javascript——毕竟javascript是单线程引擎. javascript拥有函数式编程的特性,而又因为javascript单线程引擎,我们的函数总是 ...
- [Android]使用RecyclerView替代ListView(一)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4232560.html RecyclerView是一个比List ...
- Android悬浮窗实现 使用WindowManager
Android悬浮窗实现 使用WindowManager WindowManager介绍 通过Context.getSystemService(Context.WINDOW_SERVICE)可以获得 ...
- 【代码笔记】iOS-判断textField里面是否有空
一,效果图. 二,工程图. 三,代码. ViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional ...
- iOS 学习 - 13.微信分享链接、QQ 分享图片
准备工作---原文来自这个 首先要在微信开放平台申请 AppID 和 QQ ID(我第一天晚上申请的,第二天中午就通过了),接着导入 SDK,也就是3个 .h 和一个 .a 文件,详情见这里 如果你是 ...
- android 转化json日期
/Date(1448356081207)/ public static String changeDate(String time){ String newStr = time.substring(t ...
- 学习Coding-iOS开源项目日志(四)
Hello,大家好,好久没写博客了,今天再次来研究研究Coding源码,久违了. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对git ...
- 在VC环境下执行代码出现错误
这是在执行代码过程中出现的错误,源代码在别的电脑上能运行,在自己的VC里运行就出现错误,在网上也搜过解决办法,但还是有点不太理解,是编程环境的问题h还是代码本身也存在问题???