$(document).ready()即$()方法和window.onload方法的比较
以浏览器装载文档为例,我们都知道在页面完毕后,浏览器会通过JavaScript为DOM元素添加事件。在常规的JavaScript代码中,通常使用window.onload方法,而在jQuery中,使用的是$(document).read()方法。这两个是有区别的。
1.执行时机
$(document).read()方法和window.onload方法有相似的功能,但在执行时机还是有区别学的。
widow.onload方法是在网页中的所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行,即JavaScript此时才可以访问网页中的任何元素。而通过jQuery中的$(document).read()方法注册的事件处理程序。在DOM完全就绪 时就可以被调用。此时,网页的所有元素对jQuery而言都是可以访问的,但是 ,这并不意味着这些元素关联的文件都已经下载完毕。
2.多次使用
假设网页中有两个函数,JavaScript代码如下:

调用:

结果:

这是你会发现,只弹出字符串“two”对话框
字符串“one”对话框不能被弹出的原因是JavaScript的onload事件一次只能保存对一个函数的引用,它会自动用后面的函数
然而:

这样的话结果:

结论:jQuery的$(document).read()方法能够很好处理 每次调用都会在现有的行为上追加新的行为,这些行为函数会根据注册的顺序依次执行
3.简写方式
$(document).read(function(){
})
简写:
$(function(){
})
也可写为:
$().read(function(){
})
随机推荐
- LINUNX下PHP下载中文文件名代码
function get_basename($filename){ return preg_replace('/^.+[\\\\\\/]/', '', ...
- ubuntu下 mysql5.6.4 +sphinx安装
安装mysql 5.6.4 下载源码 安装cmake sudo apt-get install cmake 进入mysql源码包: 创建mysql用户与用户组 groupadd mysql usera ...
- [转帖]HOWTO rename column name in Sqlite3 database
原文在此 Say you have a table and need to rename "colb" to "col_b": First you rename ...
- VS2010 发布web项目 问题
载:http://www.cnblogs.com/shaocm/archive/2012/08/10/2632116.html
- CentOS安装epel
Centos5安装 rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm rpm ...
- tcp/ip协议listen函数中backlog参数的含义与php-fpm的502 Bad Gateway
To understand the backlog argument, we must realize that for a given listening socket, the kernel ma ...
- 学习Sass之安装Sass(一)
为什么使用Sass 作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE.JS而成为目前前后端统一开 ...
- js map
// js通用方法 // map对象定义 function Map() { var struct = function(key, value) { this.key = key; this.value ...
- ES6 Promise 接口
构造函数 new Promise(function(resolve, reject){}); 构造函数接受一个函数(executor)作为参数,该函数在返回 Promise 实例之前被调用.函数的两个 ...
- iOS- NSDateFormatter (自定义时间格式)
一. NSDateFormatter解释 1. 日期(NSDate)是NSString类的格式(stringWithFormat),也可以改变输出,如果需要输出年代信息等则需要进行转换,等等. 2. ...