HTML5 事件属性

HTML5 事件属性是全局的,可以应用于大多数元素。

HTML5 中的事件属性

当某些事件发生时,以下事件属性可以应用于执行 JavaScript 的大多数元素,但有一些例外情况,例如,在 <head> 部分中找到的元素,例如 <title><base><link> 等等。

窗口事件

window 对象相关的事件 (适用于标记): <body>

属性 描述
onafterprint 脚本 打印相关文档后触发。
onbeforeprint 脚本 在打印相关文档之前触发。
onbeforeunload 脚本 在卸载文档之前触发。
onerror 脚本 发生文档错误时触发。
onhashchange 脚本 当文档 URL 的片段标识符部分(即符号(#)后面的 URL 部分)发生更改时触发。
onload 脚本 文档加载完毕后触发。
onMessage 脚本 消息事件发生时触发,即当用户发送跨文档消息或使用 postMessage() 方法从工作人员发送消息时。请参阅 HTML5 Web Workers
onoffline 脚本 网络连接失败并且浏览器开始脱机工作时触发。
ononline 脚本 当网络连接返回并且浏览器开始在线工作时触发。
onpagehide 脚本 页面被隐藏时触发,例如当用户移动到另一个网页时。
onpageshow 脚本 在显示页面时触发,例如当用户导航到网页时。
onpopstate 脚本 在对活动历史记录进行更改时触发。
onResize 脚本 调整浏览器窗口大小时触发。
onstorage 脚本 更新 Web 存储 区域时触发。
onunload 脚本 在卸载文档或关闭浏览器窗口之前立即触发。

表格活动

由于用户与 HTML 表单控件交互而发生的事件。

属性 描述
onblur 脚本 元素失去焦点时触发。
onchange 脚本 更改元素的值或状态时触发。
onfocus 脚本 元素获得焦点时触发。
oninput 脚本 当用户更改元素的值时触发。
oninvalid 脚本 在表单验证期间,当 submittable 元素不满足其约束时触发。
onreset 脚本 用户重置表单时触发。
onselect 脚本 在选择某些文本或用户更改当前选择时触发。
onsearch 脚本 当用户在搜索输入字段中写入内容时触发。
onsubmit 脚本 提交表单时触发。

鼠标事件

由于用户与指针设备(如鼠标)交互而发生的事件:

属性 描述
onclick 脚本 当用户单击元素上的鼠标左键时触发。
onfocus 脚本 用户双击元素时触发。
oncontextmenu 脚本 当用户通过右键单击元素触发上下文菜单时触发。
ondrag 脚本 用户拖动元素时触发。该 ondrag 事件触发整个拖动操作。
ondragend 脚本 当用户在拖动操作结束时释放鼠标按钮时触发。
ondragenter 脚本 当用户将元素拖动到有效的放置目标时触发。
ondragleave 脚本 在拖动操作期间元素离开有效放置目标时触发。
ondragover 脚本 在有效放置目标上拖动元素时触发。
ondragstart 脚本 用户开始拖动文本选择或所选元素时触发。
ondrop 脚本 在拖放操作期间释放鼠标按钮时触发,即拖动拖动元素时触发。
onmousedown 脚本 在元素上按下鼠标按钮时触发。
onmousemove 脚本 当用户将鼠标指针移动到元素上时触发。
onmouseout 脚本 当用户将鼠标指针移动到元素边界之外时触发。
onmouseover 脚本 用户将鼠标指针移动到元素上时触发。
onmouseup 脚本 当用户在元素上方释放鼠标按钮时触发。
onmousewheel 脚本 不推荐使用该 onwheel 属性。
onscroll 脚本 当用户通过滚动元素的滚动条滚动元素的内容时触发。
onshow 脚本 将事件触发到具有属性的元素时触发。 contextmenu contextmenu
ontoggle 脚本 用户打开或关闭元素时触发。 <details>
onwheel 脚本 当用户通过在元素上向上或向下滚动鼠标滚轮来滚动元素的内容时触发。

键盘事件

用户与键盘交互时发生的事件:

属性 描述
onkeydown 脚本 用户按下某个键时触发。
onkeypress 脚本 用户按下字母数字键时触发。
onkeyup 脚本 用户释放密钥时触发。

剪贴板事件

与修改剪贴板相关的事件,即复制,剪切和粘贴:

属性 描述
oncopy 脚本 用户复制元素或选择时将其触发,并将其添加到系统剪贴板。
oncut 脚本 从文档中删除元素或选择并将其添加到系统剪贴板时触发。
onpaste 脚本 用户粘贴数据时将触发,将数据从系统剪贴板传输到文档。

媒体活动

处理嵌入 HTML 文档中的媒体元素时发生的事件,例如和元素: <audio> <video>

属性 描述
onabort 脚本 播放中止时触发,但不是由于错误。
oncanplay 脚本 当有足够的数据可用于播放媒体时会触发,至少几帧,但需要进一步缓冲。
oncanplaythrough 脚本 当整个媒体可以播放到最后而不需要停止进一步缓冲时触发。
oncuechange 脚本 当元素中的文本跟踪提示发生更改时触发。 <track>
ondurationchange 脚本 媒体持续时间发生变化时触发。
onemptied 脚本 当媒体元素重置为其初始状态时触发,或者由于加载期间的致命错误,或者因为 load() 调用该方法来重新加载它。
onended 脚本 到达播放结束时触发。
onerror 脚本 在获取媒体数据时发生错误时触发。
onloadeddata 脚本 在当前播放位置加载媒体数据时触发。
onloadedmetadata 脚本 当媒体的元数据(如持续时间和尺寸)完成加载时触发。
onloadstart 脚本 开始加载媒体时触发。
onpause 脚本 用户或以编程方式暂停播放时触发。
onplay 脚本 在暂停后(即 play() 请求方法时)开始播放媒体时触发。
onplaying 脚本 音频或视频开始播放时触发。
onprogress 脚本 下载媒体数据时定期触发以指示进度。
onratechange 脚本 播放速率或速度增加或减少时触发,如慢动作或快进模式。
onseeked 脚本 搜索操作结束时触发。
onseeking 脚本 移动当前播放位置时触发。
onstalled 脚本 下载意外停止时触发。
onsuspend 脚本 故意停止加载介质时触发。
ontimeupdate 脚本 当播放位置改变时触发,例如当用户快进到不同的播放位置时。
onvolumechange 脚本 更改音量或播放静音或取消静音时触发。
onwaiting 脚本 播放停止时触发,因为视频资源的下一帧不可用。

注意: 上述事件属性应用于所有 HTML 元素,但它们对所有元素都不起作用。例如,只有媒体元素才会收到浏览器触发的 volumechange 事件。