跳至主要內容

全局事件

Sankgao约 2151 字大约 7 分钟FrontendHTML5

HTML 有能力让事件 触发 浏览器中的动作。例如:当用户单击元素时启动 JavaScript。

以下是可添加到 HTML 元素以定义事件操作的 全局事件属性。

Window 事件属性

针对 window 对象 触发的事件(应用到 <body> 标签):

属性描述
onafterprintscript文档打印之后运行的脚本。⚠️ HTML5 中添加的属性
onbeforeprintscript文档打印之前运行的脚本。⚠️ HTML5 中添加的属性
onbeforeunloadscript文档卸载之前运行的脚本。⚠️ HTML5 中添加的属性
onerrorscript在错误发生时运行的脚本。⚠️ HTML5 中添加的属性
onhaschangescript当文档已改变时运行的脚本。⚠️ HTML5 中添加的属性
onloadscript页面结束加载之后触发
onmessagescript在消息被触发时运行的脚本。⚠️ HTML5 中添加的属性
onofflinescript当文档离线时运行的脚本。⚠️ HTML5 中添加的属性
ononlinescript当文档上线时运行的脚本。⚠️ HTML5 中添加的属性
onpagehidescript当窗口隐藏时运行的脚本。⚠️ HTML5 中添加的属性
onpageshowscript当窗口成为可见时运行的脚本。⚠️ HTML5 中添加的属性
onpopstatescript当窗口历史记录改变时运行的脚本。⚠️ HTML5 中添加的属性
onredoscript当文档执行撤销(redo)时运行的脚本。⚠️ HTML5 中添加的属性
onresizescript当浏览器窗口被调整大小时触发。⚠️ HTML5 中添加的属性
onstoragescript在 Web Storage 区域更新后运行的脚本。⚠️ HTML5 中添加的属性
onundoscript在文档执行 undo 时运行的脚本。⚠️ HTML5 中添加的属性
onunloadscript一旦页面已下载时触发(或者浏览器窗口已被关闭)

Form 事件

HTML 表单内 的动作触发的事件(应用到几乎所有 HTML 元素,但最常用在 form 元素中):

属性描述
onblurscript元素失去焦点时运行的脚本
onchangescript在元素值被改变时运行的脚本
oncontextmenuscript当上下文菜单被触发时运行的脚本。⚠️ HTML5 中添加的属性
onfocusscript当元素获得焦点时运行的脚本
onformchangescript在表单改变时运行的脚本。⚠️ HTML5 中添加的属性
onforminputscript当表单获得用户输入时运行的脚本。⚠️ HTML5 中添加的属性
oninputscript当元素获得用户输入时运行的脚本。⚠️ HTML5 中添加的属性
oninvalidscript当元素无效时运行的脚本。⚠️ HTML5 中添加的属性
onresetscript当表单中的重置按钮被点击时触发。⚠️ HTML5 中不支持
onselectscript在元素中文本被选中后触发
onsubmitscript在提交表单时触发

Keyboard 事件

属性描述
onkeydownscript在用户按下按键时触发
onkeypressscript在用户敲击按钮时触发
onkeyupscript当用户释放按键时触发

Mouse 事件

鼠标 或类似 用户动作 触发的事件

属性描述
onclickscript元素上发生鼠标点击时触发
ondblclickscript元素上发生鼠标双击时触发
ondragscript元素被拖动时运行的脚本。⚠️ HTML5 中添加的属性
ondragendscript在拖动操作末端运行的脚本。⚠️ HTML5 中添加的属性
ondragenterscript当元素元素已被拖动到有效拖放区域时运行的脚本。⚠️ HTML5 中添加的属性
ondragleavescript当元素离开有效拖放目标时运行的脚本。⚠️ HTML5 中添加的属性
ondragoverscript当元素在有效拖放目标上正在被拖动时运行的脚本。⚠️ HTML5 中添加的属性
ondragstartscript在拖动操作开端运行的脚本。⚠️ HTML5 中添加的属性
ondropscript当被拖元素正在被拖放时运行的脚本。⚠️ HTML5 中添加的属性
onmousedownscript当元素上按下鼠标按钮时触发
onmousemovescript当鼠标指针移动到元素上时触发
onmouseoutscript当鼠标指针移出元素时触发
onmouseoverscript当鼠标指针移动到元素上时触发
onmouseupscript当在元素上释放鼠标按钮时触发
onmousewheelscript当鼠标滚轮正在被滚动时运行的脚本。⚠️ HTML5 中添加的属性
onscrollscript当元素滚动条被滚动时运行的脚本。⚠️ HTML5 中添加的属性

Media 事件

由 **媒介(比如视频、图像和音频)**触发的事件(适用于所有 HTML 元素,但常见于媒介元素中,比如:<audio><embed><img><object> 以及 <video>):

属性描述
onabortscript在退出时运行的脚本
oncanplayscript当文件就绪可以开始播放时运行的脚本(缓冲已足够开始时)。⚠️ HTML5 中添加的属性
oncanplaythroughscript当媒介能够无需因缓冲而停止即可播放至结尾时运行的脚本。⚠️ HTML5 中添加的属性
ondurationchangescript当媒介长度改变时运行的脚本。⚠️ HTML5 中添加的属性
onemptiedscript当发生故障并且文件突然不可用时运行的脚本(比如连接意外断开时)。⚠️ HTML5 中添加的属性
onendedscript当媒介已到达结尾时运行的脚本(可发送类似 “感谢观看” 之类的消息)。⚠️ HTML5 中添加的属性
onerrorscript当在文件加载期间发生错误时运行的脚本。⚠️ HTML5 中添加的属性
onloadeddatascript当媒介数据已加载时运行的脚本。⚠️ HTML5 中添加的属性
onloadedmetadatascript当元数据(比如分辨率和时长)被加载时运行的脚本。⚠️ HTML5 中添加的属性
onloadstartscript在文件开始加载且未实际加载任何数据前运行的脚本。⚠️ HTML5 中添加的属性
onpausescript当媒介被用户或程序暂停时运行的脚本。⚠️ HTML5 中添加的属性
onplayscript当媒介已就绪可以开始播放时运行的脚本。⚠️ HTML5 中添加的属性
onplayingscript当媒介已开始播放时运行的脚本。⚠️ HTML5 中添加的属性
onprogressscript当浏览器正在获取媒介数据时运行的脚本。⚠️ HTML5 中添加的属性
onratechangescript每当回放速率改变时运行的脚本(比如当用户切换到慢动作或快进模式)。⚠️ HTML5 中添加的属性
onreadystatechangescript每当就绪状态改变时运行的脚本(就绪状态监测媒介数据的状态)。⚠️ HTML5 中添加的属性
onseekedscript当 seeking 属性设置为 false(指示定位已结束)时运行的脚本。⚠️ HTML5 中添加的属性
onseekingscript当 seeking 属性设置为 true(指示定位是活动的)时运行的脚本。⚠️ HTML5 中添加的属性
onstalledscript在浏览器不论何种原因未能取回媒介数据时运行的脚本。⚠️ HTML5 中添加的属性
onsuspendscript在媒介数据完全加载之前不论何种原因终止取回媒介数据时运行的脚本。⚠️ HTML5 中添加的属性
ontimeupdatescript当播放位置改变时(比如当用户快进到媒介中一个不同的位置时)运行的脚本。⚠️ HTML5 中添加的属性
onvolumechangescript每当音量改变时(包括将音量设置为静音)时运行的脚本。⚠️ HTML5 中添加的属性
onwaitingscript当媒介已停止播放但打算继续播放时(比如当媒介暂停已缓冲更多数据)运行脚本