jquery load 和 ready 的区别

jquery load 和 ready 的区别

本文参考:区别区别详解
如有侵权,请联系删除!本文仅用于学习记录!

执行时机

DOM文档加载的步骤:
  (1) 解析HTML结构。
  (2) 加载外部脚本和样式表文件。
  (3) 解析并执行脚本代码。
  (4) 构造HTML DOM模型。//ready
  (5) 加载图片等外部文件。
  (6) 页面加载完毕。//load

=> ready先执行,load后执行。

ready事件在DOM结构绘制完成之后就执行。这样能确保就算有大量的媒体文件没加载出来,JS代码一样可以执行。
load事件必须等到网页中所有内容全部加载完毕之后才被执行。如果一个网页中有大量的图片的话,则就会出现这种情况:网页文档已经呈现出来,但由于网页数据还没有完全加载完毕,导致load事件不能够及时被触发。

区分

  1. 时机:页面没有很多媒体文件例如图片、视频等等,ready 与 load 差不多。
    ready 的时候已经有了基本的 DOM 结构,所以这个时候就可以写一些代码了。如果网页资源加载慢,会导致 load 很慢才触发,体验不好。所以多直接用 ready 函数。
  2. 次数:load 只运行一次,如果有第二次定义,会覆盖之前的定义;ready 可以运行多次, 多个添加 ready 都会执行,顺序执行。无论是否在同一元素上注册ready事件,都是按照注册的先后顺序执行。
    写法如下:
window.onload = function (){}  // load
$(window).load(fn) // load
$(document).ready()  // ready
$(function (){ // ready
});
  1. 对象
    load: window ,带有 url 资源的元素(img, script, iframe, video, audio ) ,例如 $('img').load(fn)
    ready: 可以加在
    任意元素
    上, 例如$('div').ready(fn) .

  2. 兼容性:
    load: 兼容性较差,非必要情况,不使用load 事件
    ready: 兼容性,且安全

  3. 冲突: ready事件 与 window.onload(或)是冲突的,如果使用了 window.onload(或),将导致ready事件不执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值