HTML事件包含Window事件、document事件、Form事件、Keybord事件、Mouse事件和Media事件。
1. window事件
window事件是针对window对象触发的事件。
语法:window.addEventListener()
属性 | 类型 | 描述 | 备注 |
load | Event | 页面结束加载之后触发 | |
resize | Event | 当浏览器窗口被调整大小时触发 | - |
error | Event | 在错误发生时触发 | - |
copy | ClipboardEvent | 文本复制时触发 | 元素上可以监听该事件,不过会冒泡到 window |
paste | ClipboardEvent | 文本粘贴时触发 | 元素上可以监听该事件,不过会冒泡到 window |
cut | ClipboardEvent | 文本剪切时触发 | 元素上可以监听该事件,不过会冒泡到 window |
afterprint | Event | 文档打印之后触发 | - |
beforeprint | Event | 文档打印之前触发 | - |
beforunload | Event | 文档卸载之前触发 | - |
error | Event 或者 ErrorEvent | 在错误发生时触发 | - |
hashchange | MessageEvent | 当文档已改变时触发 | - |
message | MessageEvent | 在消息被触发时触发 | - |
messageerror | MessageEvent | 读取消息异常时触发 | - |
languagechange | Event | 用户语言设置改变时触发 | - |
online | Event | 当文档上线时触发 | - |
offline | Event | 当文档离线时触发 | - |
pagehide | PageTransitionEvent | 当窗口隐藏时触发 | - |
pageshow | PageTransitionEvent | 当窗口成为可见时触发 | - |
popstate | PopStateEvent | 当窗口历史记录改变时触发 | - |
storage | StorageEvent | 在 Web Storage 区域更新后触发 | - |
unload | Event | 一旦页面已下载时触发(或者浏览器窗口已被关闭) | - |
focus | Event 或者 FocusEvent | 元素聚焦时触发 | form 相关元素也可监听,不会冒泡至 window。不过事件类型为 FocusEvent |
blur | Event 或者 FocusEvent | 元素失焦时触发 | form 相关元素也可监听,不会冒泡至 window,不过事件类型为 FocusEvent |
unhandledreject | PromiseRejectionEvent | 异步错误未捕获时触发 | - |
2. document事件
针对document对象触发。
语法:document.addEventListener()
属性 | 类型 | 描述 | 备注 |
visibilitychange | Event | 当窗口成为可见时触发 | window 也可监听该事件 |
readystatechange | Event | 文档解析完成且所有的子资源都加载完成触发 | - |
DOMContentLoaded | Event | 文档解析完成触发 | - |
3. form事件
由 html 表单内的动作触发的事件(应用到几乎所有 html 元素,但最常用在 form 元素中)
属性 | 类型 | 描述 | 备注 |
formchange | Event | 当窗口成为可见时触发 | window 也可监听该事件 |
forminput | Event | 文档解析完成且所有的子资源都加载完成触发 | - |
invalid | Event | 文档解析完成触发 | - |
reset | Event | 文档解析完成且所有的子资源都加载完成触发 | |
select | Event | 文档解析完成触发 | - |
submit | Event | 文档解析完成且所有的子资源都加载完成触发 | - |
change | Event | 文档解析完成触发 | - |
blur | FocusEvent | 元素失焦时触发 | window 也可监听该事件 |
focus | FocusEvent | 元素聚焦时触发 | window 也可监听该事件 |
4. keyboard事件
键盘输入触发该事件
属性 | 类型 | 描述 | 备注keydown |
keydown | KeyboardEvent | 在用户按下按键时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
keyup | KeyboardEvent | 当用户释放按键时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
keypress | KeyboardEvent | 在用户敲击按钮时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
5. mouse事件
鼠标事件
属性 | 类型 | 描述 | 备注 |
click | MouseEvent | 元素上发生鼠标点击时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
dbclick | MouseEvent | 元素上发生鼠标双击时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
drag | MouseEvent | 元素被拖动时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
dragend | MouseEvent | 在拖动操作末端触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
dragenter | MouseEvent | 当元素元素已被拖动到有效拖放区域时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
dragleave | MouseEvent | 当元素离开有效拖放目标时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
dragover | MouseEvent | 当元素在有效拖放目标上正在被拖动时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
dragstart | MouseEvent | 在拖动操作开端触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
drop | MouseEvent | 当被拖元素正在被拖放时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
mousedown | MouseEvent | 当元素上按下鼠标按钮时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
mousemove | MouseEvent | 当鼠标指针移动到元素上时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
mouseout | MouseEvent | 当鼠标指针移出元素时触发 | 当鼠标指针移出元素时触发 |
mouseover | MouseEvent | 当鼠标指针移动到元素上时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
mouseup | MouseEvent | 当在元素上释放鼠标按钮时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
mousewheel | MouseEvent | 当鼠标滚轮正在被滚动时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
scroll | MouseEvent | 当元素滚动条被滚动时触发 | window、document 也可监听该事件, Element 元素可以通过设置防止冒泡来阻止 window 事件 |
6. media事件
由媒介(比如视频、图像和音频)触发的事件(适用于所有 HTML 元素,但常见于媒介元素中,比如 <audio>、<embed>、<img>、<object> 以及 <video>)
属性 | 类型 | 描述 | 备注 |
abort | Event | 在退出时触发 | - |
canplay | Event | 当文件就绪可以开始播放时触发(缓冲已足够开始时) | - |
canplaythrough | Event | 当媒介能够无需因缓冲而停止即可播放至结尾时触发 | - |
durationchange | Event | 当媒介长度改变时触发 | - |
emptied | Event | 当发生故障并且文件突然不可用时触发(比如连接意外断开时) | - |
ended | Event | 当媒介已到达结尾时触发(可发送类似“感谢观看”之类的消息) | - |
error | Event | 当在文件加载期间发生错误时触发 | - |
loadeddata | Event | 当媒介数据已加载时触发 | - |
loadedmetadata | Event | 当元数据(比如分辨率和时长)被加载时触发 | - |
loadstart | Event | 在文件开始加载且未实际加载任何数据前触发 | - |
pause | Event | 当媒介被用户或程序暂停时触发 | - |
play | Event | 当媒介已就绪可以开始播放时触发 | - |
playing | Event | 当媒介已开始播放时触发 | - |
progress | Event | 当浏览器正在获取媒介数据时触发 | - |
ratechange | Event | 每当回放速率改变时触发(比如当用户切换到慢动作或快进模式) | - |
readystatechange | Event | 每当就绪状态改变时触发(就绪状态监测媒介数据的状态) | - |
seeked | Event | 当 seeking 属性设置为 false(指示定位已结束)时触发 | - |
seeking | Event | 当 seeking 属性设置为 true(指示定位是活动的)时触发 | - |
stalled | Event | 在浏览器不论何种原因未能取回媒介数据时触发 | - |
suspend | Event | 在媒介数据完全加载之前不论何种原因终止取回媒介数据时触发 | - |
timeupdate | Event | 当播放位置改变时(比如当用户快进到媒介中一个不同的位置时)触发 | - |
volumechange | Event | 每当音量改变时(包括将音量设置为静音)时触发 | - |
waiting | Event | 当媒介已停止播放但打算继续播放时(比如当媒介暂停已缓冲更多数据)触发 | - |
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程