JQuery的ready函数与JS的onload的区别详解

时间:2022-03-04 15:44:04

JQuery的ready函数与JS的onload的区别:
1.执行时间
window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。

2.编写个数不同
window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个
$(document).ready()可以同时编写多个,并且都可以得到执行

3.简化写法
window.onload没有简化写法
$(document).ready(function(){})可以简写成$(function(){});

在我以前的开发中,一般用到javascript,我都是采用jquery的模式,也就是大多数时候,第一行写的是:

$(document).ready(function(){

});

这个时候,不一定要等所有的js和图片加载完毕,就可以执行一些方法,不过有些时候,必须要等所有的

元素都加载完毕,才可以执行一些方法的时候,比如说,部分图片或者什么其他方面还没有加载好,这个时候,点击某些按钮,会导致出现意外的情况,这个时候,就

需要用到:

$(window).load(function() {

});

eg:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>ready和js中的onload的区别</title>

<script type="text/javascript" src="jquery-core/jquery-1.8.0.js"></script>

<script type="text/javascript">

//js中window对象的onload属性执行jsFunction1函数

window.onload=jsFunction1;

//js中window对象的onload属性执行jsFunction2函数

window.onload=jsFunction2;

//jquery的ready方法执行jqFunction1函数

$(document).ready(jqFunction1);

//jquery的ready方法执行jqFunction2函数

$(document).ready(jqFunction2);

//jsFunction1函数

function jsFunction1(){

alert("jsFunction1");

}

//jsFunction2函数

function jsFunction2(){

alert("jsFunction2");

}

//jqFunction1函数

function jqFunction1(){

alert("jqFunction1");

}

//jqFunction2函数

function jqFunction2(){

alert("jqFunction2");

}

</script>

</head>

<body>

<h1>ready和js中的onload的区别</h1>

</body>

</html>