document对象和window的常用事件

本文介绍了document对象的readystatechange和visibilitychange事件,以及window对象的load、unload、beforeunload、pageshow和pagehide事件。readystatechange事件对应DOM加载的不同阶段,visibilitychange与页面可见性有关。window的load事件在所有资源加载完成后触发,unload表示页面不可见,beforeunload允许交互但会影响BFCache,pageshow和pagehide则分别在页面显示和隐藏时触发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

document

readystatechange

当document.readyState的值发生变化时就会触发以上事件

readyState的值有:
1. loading
DOM还在加载中(此时貌似js还没开始执行,js里捕获不到这个状态)
2. interactive
DOM已经加载完毕,css,图片,iframe里的页面还没加载完($(document).ready()就是指这个时候
即触发DOMContentLoaded的时候document.addEventListener('DOMContentLoaded', function () {})
3. complete
DOM CSS 图片等全都加载完毕(window.onload就是这个时候)

visibilitychange

不咋用到。跟显示/隐藏有关系;

window

load

window.onload(也就是document.readyState === 'interactive’的时候)

unload

页面正处在一种资源依然存在,但是页面已经不可见的时候。
不能再交互了。
这个事件是不可被阻止的。
如果监听了这个事件(即使什么也不做)会破坏BFCache(前进/后退 缓存)。前进后退时,会重新请求页面。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值