Skip to content

当然可以!下面是一个完整、全面的浏览器事件监听列表(包括 DOM 事件、表单事件、窗口事件、触摸事件、媒体事件等),适用于现代浏览器(如 Chrome、Firefox、Edge、Safari 等),基于 WHATWG DOM 标准MDN 文档


🧠 说明

  • 这些事件可以通过 addEventListener() 监听。
  • 所有事件都可绑定在 DOM 元素或 window 上,具体取决于事件类型。
  • 每个事件都有其适用场景和触发条件。

📚 完整浏览器事件监听列表(分类整理)


🧱 一、DOM 元素相关事件(基础交互)

事件名描述
click单击元素时触发(鼠标左键或触控)
contextmenu右键菜单弹出前触发
dblclick双击触发
mousedown鼠标按键按下
mouseup鼠标按键释放
mousemove鼠标移动
mouseover鼠标移入元素(冒泡)
mouseout鼠标移出元素(冒泡)
mouseenter鼠标进入元素(不冒泡)
mouseleave鼠标离开元素(不冒泡)
wheel鼠标滚轮滚动
dragstart拖拽开始
drag拖拽中
dragend拖拽结束
dragenter拖拽对象进入目标区域
dragover拖拽对象在目标区域内移动
dragleave拖拽对象离开目标区域
drop在目标区域释放拖拽对象

📝 二、表单与输入事件

事件名描述
input<input><textarea> 内容变化时实时触发
change表单元素值改变并失去焦点后触发
focus元素获得焦点
blur元素失去焦点
submit表单提交(绑定在 <form> 上)
reset表单重置
select用户选中文本框中的文本时触发
invalid表单验证失败时触发
beforeinputinput 事件之前触发(更底层)
compositionstart输入法组合开始(如中文输入)
compositionupdate输入法组合更新
compositionend输入法组合结束

🖥️ 三、窗口与文档事件

事件名描述
load页面完全加载完成后触发(绑定在 window 或某些资源上)
DOMContentLoadedHTML 文档加载完成但未加载外部资源时触发
readystatechange文档加载状态变化(document.readyState)
beforeunload页面即将卸载(可用于提示用户是否离开)
unload页面正在卸载(用于清理操作)
resize浏览器窗口大小变化
scroll页面或元素滚动
hashchangeURL 的 hash(# 后面部分)发生变化
popstate浏览器历史记录条目更改(如点击返回按钮)
pageshow / pagehide页面显示/隐藏(移动端缓存页面时使用)
storage同源窗口中 localStorage 被修改时触发

📱 四、触摸与手势事件(移动端)

事件名描述
touchstart触摸开始
touchmove触摸移动
touchend触摸结束
touchcancel触摸被取消(如系统中断)
gesturestart手势开始(如双指缩放)
gesturechange手势变化
gestureend手势结束

🎧 五、音频与视频事件(HTML5 媒体)

事件名描述
play开始播放
playing已开始播放(缓冲完成)
pause暂停播放
ended播放结束
seeking用户开始跳转时间点
seeked时间点跳转完成
timeupdate当前播放时间更新
volumechange音量变化
ratechange播放速度变化
durationchange媒体总时长变化
loadedmetadata媒体元数据加载完成
loadeddata媒体当前帧数据加载完成
canplay媒体可以开始播放(可能需要缓冲)
canplaythrough媒体可以流畅播放完全部内容
error媒体加载或播放发生错误
waiting需要缓冲下一帧而暂停播放
stalled媒体数据无法获取

🔋 六、设备与传感器事件

事件名描述
deviceorientation设备方向变化(陀螺仪)
devicemotion设备运动(加速度计)
orientationchange屏幕方向变化(横屏/竖屏)
online / offline网络连接状态变化(绑定在 window

📡 七、Web Worker 相关事件

事件名描述
message接收到 worker 发送的消息
messageerror接收消息出错
errorworker 出现错误
closeworker 被关闭

🧩 八、自定义与高级事件

事件名描述
CustomEvent自定义事件(通过 new CustomEvent() 创建)
animationstart / animationend / animationiterationCSS 动画事件
transitionstart / transitionrun / transitionend / transitioncancelCSS 过渡事件
pointerdown / pointerup / pointermove / pointercancel统一指针事件(兼容鼠标、触摸、笔)
gotpointercapture / lostpointercapture捕获指针事件
visibilitychange页面可见性变化(绑定在 document
fullscreenchange / fullscreenerror全屏模式切换事件
copy / cut / paste剪贴板操作事件
abort资源加载中止
error加载失败通用事件(如图片、脚本)
selectstart / selectionchange文本选择事件
securitypolicyviolationCSP 违规事件
toggle<details> 元素展开/折叠事件

🌐 九、Service Worker 事件(PWA)

事件名描述
installService Worker 安装时触发
activateService Worker 激活时触发
fetch网络请求拦截
message来自主线程的消息
push接收到推送通知
notificationclick用户点击通知
sync后台同步触发(需注册 SyncManager)

📦 十、Web Storage 事件

事件名描述
storage同源窗口中 localStoragesessionStorage 被修改时触发

🧪 十一、实验性 / 特定平台事件(仅供参考)

事件名描述
gamepadconnected / gamepaddisconnected游戏手柄连接/断开
beforeprint / afterprint打印前/后触发(已被弃用)
search<input type="search"> 中点击“搜索”按钮
beforematch<style media> 匹配前触发(用于性能优化)

🧾 总结:你可以这样记忆

类型关键词
基础交互click, mouse, drag
表单输入input, change, focus
页面生命周期load, DOMContentLoaded, beforeunload
移动端touch, gesture, orientation
媒体play, pause, ended, timeupdate
Web APImessage, storage, online/offline
动画过渡animation, transition
自定义CustomEvent
PWAfetch, push, sync

如果你希望我帮你整理成 Markdown 表格JSON 文件事件分类卡片模板,我可以为你生成 😊

你也可以告诉我你的项目需求,我会推荐最常用的一组事件 👍