$(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
随机推荐
- VUE-CLI Vue安装及开发,npm run build无法查看项目的问题
Vue-cli 本地安装vue项目 需要安装node.js,用node命令行npm的方式安装Vue 步骤: 1.进入项目地址安装 npm install vue-cli -g 2.初始化一下 ESli ...
- 使用canvas实现绚丽的时钟特效
源码 https://github.com/2016Messi/Gorgeous-clock 效果展示 https://2016messi.github.io/Gorgeous-clock/ 如果各位 ...
- springboot 入门七-静态资源处理
Spring Boot 默认配置的/**映射到/static(或/public ,/META-INF/resources),/webjars/**会映射到classpath:/META-INF/res ...
- OC学习12——字符串、日期、日历
前面主要学习了OC的基础知识,接下来将主要学习Foundation框架的一些常用类的常用方法.Foubdation框架是Cocoa编程.IOS编程的基础框架,包括代表字符串的NSString(代表字符 ...
- XMPP协议的基本理解
即时通讯技术简介 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容.大多数常用的即时通讯发送程序都会提 ...
- 使用Python Shapefile Library创建和编辑Shapefile文件
介绍 shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Feature Classes),主要包括点(point).线(polyline)和多边形(polygon).P ...
- 用原生实现点击删除点击的li
简单的实现方式 <!DOCTYPE html> <html> <head> <title></title> <meta charset ...
- 跟我一起读postgresql源码(七)——Executor(查询执行模块之——数据定义语句的执行)
1.数据定义语句的执行 数据定义语句(也就是之前我提到的非可优化语句)是一类用于定义数据模式.函数等的功能性语句.不同于元组增删査改的操作,其处理方式是为每一种类型的描述语句调用相应的处理函数. 数据 ...
- Linux目录结构详解
/: 根目录,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中/bin:/usr/bin: 可执行二进制文件的目录,如常用的命令ls ...
- ubuntu12.04 安装中文输入法
1. 安装输入法的第一步,是安装语言包.我们选择System Settings-->Language Support-->Install/Remove Languages 选择中文 2. ...