$(document).ready()和window.onload之间的差异
最近使用$(document).ready(function(){})遇到一个问题:加载页面后发送数据请求后台,得到的数据不对,后发现请求后台时,发送的数据为空,没有获取到值导致的。------改成window.onload = function(){}或者$(window).load(function(){})就可以了。现总结一下这一块的知识点。
如何选择$(document).ready()和window.onload请结合实际情况进行判断。
$(document).ready()和window.onload之间的区别:
1.执行时间
window.onload = function(){} -------- 页面上所有的元素(包括图片,文件)加载完成之后执行,jquery的写法是$(window).load(function(){})
$(document).ready(function(){}) ------- 页面上DOM结构绘制完成之后执行,可以简写成$(function(){})。
页面会先执行$(document).ready(),然后执行window.onload。
2.执行次数
window.onload = function(){} ------ 只执行一次,如果定义多个时,只会执行最后一个定义的方法;如果想执行多个方法,可以使用$(window).load(function(){}) (会按照定义顺序执行)
$(document).ready(function(){}) ---- 可以执行多次,页面编写多个$(document).ready()方法时,按照定义顺序依次执行
<script>
window.onload = function(){
alert("onload11");
}
window.onload = function(){
alert("onload22");
}
$(window).load(function() {
alert("load11");
});
$(window).load(function() {
alert("load22");
});
$(document).ready(function() {
alert("ready22");
});
$(document).ready(function() {
alert("ready11");
});
</script>
弹出的顺序为 ready22 -----> ready11 -----> onload22 -----> load11 -----> load22
随机推荐
- redis的list类型
1.简单介绍 redis的list类型其实就是一个每个元素都是string类型的双向链表.所以lpush.rpush.lpop和rpop命令的时间复杂度是O(1),list会记录链表的长度,所以lle ...
- DDOS学习笔记(《破坏之王-DDOS攻击与防范深度剖析》)
最近花了点时间把<破坏之王-DDOS攻击与防范深度剖析>看了一遍,坦白来说,这本书比较浅显,可以说是入门书,当然对于我这种对DDOS一知半解的人来说,也是一本不错的书,起码我 ...
- VM环境下Linux虚拟机扩展存储空间操作方法总结
用VMwareware虚拟机安装的 Linux 系统剩余空间不足,造成软件无法正常安装.如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置. 一.空间扩展 (1)打开VMware,选择Edi ...
- 初探XRebel
一.什么是XRebel? 1.介绍 XRebel 是不间断运行在 web 应用的交互式分析器.可以看到网页上的每一个操作在前端以及服务端.数据库.网络传输都花费多少时间,当发现问题会在浏览器中显示警告 ...
- [置顶]
bootstrap自定义样式-bootstrap侧边导航栏的实现
前言 bootstrap自带的响应式导航栏是向下滑动的,有时满足不了个性化的需求,需要做一个类似于android drawerLayout 侧滑的菜单,这就是我要实现的bootstrap自定义侧滑菜单 ...
- seo我告诉你
seo我告诉你,这回seo真的告诉你百度云链接 链接:http://pan.baidu.com/s/1qYpM9y8 密码:mad6 seo优化教程:
- verilog抓外部低频输入信号的上升沿和下降沿
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7220107.html 作者:窗户 Q ...
- 重启网络服务时 Bringing up interface eth0
重启网络服务时报错: Bringing up interface eth0: Error:Connection activation failed:Device not managed by Net ...
- JaCoCo 代码覆盖率工具(基于Maven+TestNG)
JaCoco是一个代码覆盖率库. 官方网站:http://www.jacoco.org/ 安装: 以 Maven(http://www.testclass.net/maven/) 安装为例: < ...
- [编织消息框架][netty源码分析]12 ByteBuf 实现类UnpooledDirectByteBuf职责与实现
public class UnpooledDirectByteBuf extends AbstractReferenceCountedByteBuf { private final ByteBufAl ...