首页 技术教程建站经验正文

jquery $(document).ready() 与window.onload的区别

kmwl520 建站经验 2024-05-13 19:17:03 123 0 js小白日志
.ready

Jquery中$(document).ready()的作用类似于传统javascript中的window.onload方法,不过与window.onload方法还是有区别的。

1.执行时间

window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。

2.编写个数不同

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

3.简化写法

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

1
2
3
4
5
6
7
$(document).ready( function
// 执行代码
或者
function
// 执行代码

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

1
2
3
$(document).ready( function

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

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

需要用到:

1
2
3
4
5
6
7
8
$(window).load( function
"#btn-upload" ).click( function
//比如说:
uploadPhotos();

JavaScript window.onload 事件和 jQuery ready 函数有何不同?

JavaScript 事件和 jQuery ready 函数之间的主要区别是,前者除了要等待 DOM 被创建还要等到包括大型图片、音频、视频在内的所有外部资源都完全加载。 如果加载图片和媒体内容花费了大量时间,用户就会感受到定义在 事件上的代码在执行时有明显的延迟。 另一方面,jQuery ready() 函数只需对 DOM 树的等待,而无需对图像或外部资源加载的等待,从而执行起来更快。 使用 jQuery $(document)() 的另一个优势是你可以在网页里多次使用它,浏览器会按它们在 html 页面里出现的顺序执行它们,相反对于 onload 技术而言,只能在单一函数里使用。 鉴于这个好处,用 jQuery ready() 函数比用 JavaScript 事件要更好些。

JS 页面加载触发事件 document.ready和onload的区别

一、使用时机不同

1、onload:当用户进入页面时就会触发。

2、:是当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。

二、作用不同

1、onload:事件常用来检测访问者的浏览器类型和版本,然后根据这些信息载入特定版本的网页。

2、:是对向事件注册事件的替代方法。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用所绑定的函数。

三、作用不同

1、onload:常被用来处理用户进入或离开页面时所建立的 cookies。

2、:是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。

谈谈document.ready和window.onload的区别

在Jquery里面,我们可以看到两种写法:$(function(){}) 和$(document)(function(){})这两个方法的效果都是一样的,都是在dom文档树加载完之后执行一个函数(注意,这里面的文档树加载完不代表全部文件加载完)。 而是在dom文档树加载完和所有文件加载完之后执行一个函数。 也就是说$(document)要比先执行。 那么Jquery里面$(document)函数的内部是怎么实现的呢?下面我们就来看看:我们来为document添加一个ready函数 = function (callback) {///兼容FF,Googleif () {(DOMContentLoaded, function () {(DOMContentLoaded, , false);callback();}, false)} //兼容IEelse if () {(onreadytstatechange, function () {if ( == complete) {(onreadystatechange, );callback();}})}else if ( == ) {callback();}}这个函数是实现了。 我们再来验证一下最上面所说的“ready要比onload先执行” = function () {alert(onload); }; (function () {alert(ready); });执行这段代码之后,你会看到浏览器里面会先弹出“ready”,在弹出onload。 这个大家还是亲手试试吧!

更多优质资源请微信扫码访问:盘姬资源网小程序


免责声明

本文仅代表作者观点,不代表本站立场,内容的真实性请自行甄别谨防上当受骗。

本站采用 CC BY-NC-SA 4.0 国际许可协议 进行许可,转载或引用本站文章应遵循相同协议。

  1. 本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

  2. 本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

  3. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。

  4. 如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。

站长邮箱:xm520vip@gmail.com

本文链接:https://123.775n.com/post-179.html

发表评论

评论列表(0人评论 , 123人围观)
☹还没有评论,来说两句吧...

会员中心

歆梦资源网(775n.com)-探索精品网络资源的宝藏之地

https://123.775n.com/

| 京ICP备100000000

Powered By 某某网络科技有限公司

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯