jQuery中的$(document).ready()和JavaScript中的window.onload方法主要有两个方面的不同:

1.执行时机:

onload : 网页中所有的元素和元素的关联文件(包括图片)等完全加载完毕后才执行。

$() : 在dom完全加载完毕后就可调用,此时,网页中的所有元素都是可以被jQuery访问的,但不意味着元素的关联文件都已加载完毕。

注意:

由于在$()方法内注册的事件,只要dom就绪就会被执行,因此可能此时元素的关联文件未下载完成。

例如与图片有关的html下载完毕,并且已经解析为dom树,但很有可能图片还未加载完毕,所以例如图片的宽度和高度这样的属性获取不一定有效。

要解决这个问题可以使用jQuery中的load方法:

load()方法会在元素的onload事件中绑定一个处理函数,如果处理函数绑定给window对象,则会在所有内容(包括窗口,框架,对象和图片等)加载完毕后触发。如果绑定到某个元素上,则会在元素的内容加载完毕后触发。

$(window).load(function(){

});

//等价于javascript中代码

window.onload = function(){

}

2.多次使用:

onload : 只能保存对一个函数的引用,多次调用会产生覆盖。

function one(){
alert("one");
} function two(){
alert("two");
} window.onload = one;
window.onload = two; //只弹出two对话框

为了达到两个函数顺序触发的效果,需要再建一个函数

window.onload = function(){
one();
two();
}

如果有多个JavaScript文件,每个文件都需要用到window.onload()方法,这种情况用上边的方法会非常麻烦。

$() : 可以多次调用,每次调用都是在现有的行为上追加,注册的函数会按照代码中的先后顺序依次执行。

$(function(){
one();
}); $(function(){
two();
}); //依次弹出one, two。

注意:

请确保在body元素的onload事件中没有注册函数,否则不会触发$()事件。

锋利的jQuery-4--$(document).ready()和window.onload方法的区别的更多相关文章

  1. $(document).ready() 与 window.onload 之间的区别

    1.执行时机 window.onload 是网页中所有的元素都加载到浏览器后才执行 $(document).ready() 是dom完全就续就可以调用 例如:如果给一副图片添加点击事件,window. ...

  2. $(document).ready和window.onload,细微小区别,ready是jQuery的方法,onload是window的方法

    $(document).ready和window.onload的区别 $(document).ready和window.onload都是在都是在页面加载完执行的函数,大多数情况下差别不大,但也是有区别 ...

  3. jQuery中$(document).ready()和window.onload的区别?

    document.ready和document.load的区别?(JQ中的$(document).ready()和window.onload的区别?) window.onload,是采用DOM0级事件 ...

  4. $(document).ready和window.onload 简单分析区别

    <锋利的JQuery>翻开没看几页,就遇到了这个神奇的问题,之前在橙旭园学习的时候,JQuery只教了一些基础的,像链式操作等,那时以为这个和window.onload()差不多一模一样, ...

  5. 【jquery】$(document).ready() 与window.onload的区别

    Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1)执行时间  wind ...

  6. jquery中 $(document).ready()和window.onload的区别

    1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行. $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 2.编写个数不同 ...

  7. $(document).ready() 和 window.onload 方法比较

    说明 页面加载文档完毕后,浏览器会通过 Javascript 为 DOM 元素添加事件. Javascript 使用 window.onload 方法,而 jQuery 使用 $(document). ...

  8. $(document).ready()和window.onload方法

    引用:http://www.jb51.net/article/21628.htm Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload ...

  9. document.ready(function(){}),window.onload,$(function(){})的区别

    https://blog.csdn.net/qkzhx0516/article/details/79236514

随机推荐

  1. 各种同步方法性能比较(synchronized,ReentrantLock,Atomic)

    5.0的多线程任务包对于同步的性能方面有了很大的改进,在原有synchronized关键字的基础上,又增加了ReentrantLock,以及各种Atomic类.了解其性能的优劣程度,有助与我们在特定的 ...

  2. ZooKeeper学习第八期——ZooKeeper伸缩性

    一.ZooKeeper中Observer 1.1 ZooKeeper角色 经过前面的介绍,我想大家都已经知道了在ZooKeeper集群当中有两种角色Leader和Follower.Leader可以接受 ...

  3. python爬虫中文网页cmd打印出错问题解决

    问题描述 用python写爬虫,很多时候我们会先在cmd下先进行尝试. 运行爬虫之后,肯定的,我们想看看爬取的结果. 于是,我们print... 运气好的话,一切顺利.但这样的次数不多,更多地,我们会 ...

  4. Activiti系列: 如何在web中使用activiti和sql server

        最近要开始使用activiti结合原有的系统来开发一个专业领域内的业务管理软件,以下记录了第一次搭建该开发平台过程中所遇到的各种问题,备忘.   一.按照如下方式新建一个web工程 之所以要用 ...

  5. Linux内核分析——第七周学习笔记20135308

    第七周 可执行程序的装载 一.预处理.编译.链接和目标文件的格式 1.可执行程序是怎么来的 C代码—>预处理—>汇编代码—>目标代码—>可执行文件 .asm汇编代码 .o目标码 ...

  6. Linux第五次学习笔记

    处理器体系结构 Y86指令集体系结构 定义一个指令集体系结构 ,包括定义各种状态元素.指令集和它们的编码.一组编程规范和异常事件处理. 程序员可见的状态 Y86程序中的每条指令都会读取或修改处理器状态 ...

  7. 崩溃日志记录工具Crashlytics

    http://try.crashlytics.com 申请账号,通常一两天 设置工程 后期更新,个人感觉使用这个很麻烦

  8. iOS中plist的创建,数据写入与读取

    iOS中plist的创建,数据写入与读取 Documents:应用将数据存储在Documents中,但基于NSuserDefaults的首选项设置除外Library:基于NSUserDefaults的 ...

  9. windows编程原理

    这里在学网络编程时遇到了讲解windows的编程,稍微整理一下windows编程原理,顺便复习一下. 首先,理解Windows 程序运行原理:Windows应用程序,操作系统,计算机硬件之间的相互关系 ...

  10. 详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]

    目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumen ...