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 国际许可协议 进行许可,转载或引用本站文章应遵循相同协议。
-
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
-
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
-
本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
-
如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。
站长邮箱:xm520vip@gmail.com
本文链接:https://123.775n.com/post-179.html- 上一篇: 宝塔网站如何屏蔽蜘蛛 禁止某些蜘蛛爬取
- 下一篇: PHP屏蔽指定地区访问
发表评论