jquery中的$(document).ready()、JavaScript中的window.onload()以及body中的onload()的区别

 

body中的onload()和window.onload以及$(document).ready()的区别:

1、前两者都表示当页面加载元素(包括图片等信息)完毕后执行的操作,而且两者在各种浏览器中都兼容,而$(document).ready()表示的是JQuery中的一个方法因而只有在支持jQuery的浏览器中才适用,同时该方法是在当页面的dom节点加载完毕后就执行,无需等待页面中的图片等加载完成。

2、当代码中同时存在body中的onload()和window.onload()要注意的 :

a、当JS代码在head中时且window.onload()中方法是匿名时:将会跳过window中的方法。

<html>

<head>

<script type="text/javascript"> alert(‘a‘);

window.onload=function () {

alert(‘b‘);

} ;

alert(‘c‘);

</script>

</head>

<body >

</body>

</html>

上面的代码中执行的结果是:a,c,d

b、当JS代码在head中同时window.onload()中方法不是匿名时,这时会对浏览器的不同有差异,在IE8以及IE8以下的版本中会顺序执行JS代码到window.onload()但其后面的将不会被执行(除了定义的方法在其他地方被调用的外),而在IE8以上以及chrome等浏览器中都将会被执行。

<html>

<head>

<script type="text/javascript"> alert(‘a‘);

window.onload=fn();

function fn() {

alert(‘b‘);

} ;

alert(‘c‘);

</script>

</head>

<body >

</body>

</html>

由上知当在IE8以及以下的版本中的执行结果为:abd,在其他浏览器中的执行结果为:

a,b,c,d

c、当JS代码在body中时同时window.onload()中的方法不是匿名的时:

<html>

<head>

</head>

<body >

<script type="text/javascript"> alert(‘b‘);

window.onload=fn();

function fn () {

alert(‘c‘);

} ;

alert(‘d‘);

</script>

</body>

</html>

上述代码在IE8以及以下版本中的执行结果为:b,c,a在其他浏览器中的执行结果为:b,c,d

d、当JS代码中body中同时window,onload()中的方法是匿名函数时:

<html>

<head>

</head>

<body >

<script type="text/javascript"> alert(‘b‘);

window.onload=function  () {

alert(‘c‘);

} ;

alert(‘d‘);

</script>

</body>

</html>

上述代码的执行结果为:b,c,d

将JS代码放在body和放在head中的结果不一样这是和文档的加载顺序相关的。

时间: 2024-12-22 21:58:30

jquery中的$(document).ready()、JavaScript中的window.onload()以及body中的onload()的区别的相关文章

jquery中的$(document).ready()使用小结

本篇文章主要是对jquery中的$(document).ready()使用方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 window.onload = function(){ alert("welcome"); } 这样的写法作用是希望在页面加载完,自动执行定义js代码(function). $(document).ready(function(){.... })这个函数是用来取代页面中的window.onload; document.ready()和传统的方

jquery学习之$(document).ready()

参考资料: 1.W3School在线教程:http://www.w3school.com.cn/jquery/event_ready.asp 2.某人博客园:http://www.cnblogs.com/Look_Sun/archive/2010/02/11/1667482.html 3.jQuery1.11.0中文API. 总结:3种写法:2个注意:1个问题 1. 3种写法  1 //语法1 2 3 $(document).ready(function(){ 4 //TODO; 5 }); 6

JQuery排错关于$(document).ready(function(){});

最近写了好多JQuery.也出了很多问题.不知道怎么回事.程序就不往下执行了.很是郁闷. 查了下资料,这里可能会有以下几种原因:1.js文件的引用路径不正确,特别是使用了命名空间,容易造成路径错误,使用绝对路径看是否成功.2.看 $(document).ready(function(){}); 是否会执行.3.$选择器所选的内容是否存在.排查很简单,请使用调试工具,如Firebug,查看console面板,就会把错误信息展现出来的. 这是我遇到的错误: jQuery,js : missing)a

jquery中的$(document).ready(function(){})和$(window).load()比较

1.执行时间 window.onload()即jquery写法中的$(window).load(function(){})必须等到页面内包括图片的所有元素加载完毕后才能执行. $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 2.编写个数不同 window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个(最后一个)$(document).ready()可以同时编写多个,并且都可以得到执行 3.简化写法 window.on

jquery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较

想要添加这个效果,先来弄明白页面的加载和事件执行顺序,看这个简单例子: 1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head > 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4 <title>验证加载顺序</title> 5 <s

jquery中的$(document).ready(function() {});

当文档载入时执行function函数里的代码, 这部分代码主要声明,页面加载后 "监听事件" 的方法.例如: $(document).ready( $("a").click(function(){alert('你点我干嘛')}); ): 这句的意思是:页面加载成功后,页面内的所有链接在"点击"事件的时候,提示"你点我干嘛"

js中的document.ready

1.概念 表示在dom结构绘制完成后执行,可能DOM元素关联的部分并未加载完 2.写法 $(document).on("ready",function(){ }) $(document).ready(function(){ }) $(function(){ }) 可以反复出现,并且顺序执行

jQuery中$(document).ready()的使用位置

jQuery中的$(document).ready(),你能让你的事件在window加载之前加载或触发.所有你写在这个方法里面的都准备在最早的时刻加载或触发.也就是说,一旦DOM在浏览器中注册后,$(document).ready()里的代码就开始执行.这样用户在第一眼看见页面元素时,特效就可以运行了.初学jQuery,今天想写一个按钮的单击触发事件,不知为何就是出不来想过,单步调试也不知道为何.部分代码如下 <script type="text/javascript">

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

 $(document) ready()和window onload在表面上看都是页面加载时我们就去执行一个函数或动作,但是在具体的细节上$(document) ready()和window onload还是有区别的. 最基本的区别 1.执行时间 window.onload必须等到页面内包括图片.flash等的所有元素加载完毕后才能执行.$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 如<p>图片视频等</p>(假设页面只有这一个标签),wi