事件参考

事件被触发以通知代码可能影响代码执行的“有趣变化”。这些变化可能源于用户交互,例如使用鼠标或调整窗口大小,底层环境状态的变化(例如低电量或来自操作系统的媒体事件),以及其他原因。

每个事件都由一个基于Event接口的对象表示,并且可能具有额外的自定义字段和/或函数来提供有关发生事件的信息。每个事件的文档都包含一个表格(靠近顶部),其中包含指向关联事件接口的链接以及其他相关信息。所有不同事件类型的完整列表在事件 > 基于事件的接口中给出。

本主题提供了一个索引,列出了您可能感兴趣的主要类型的事件(动画、剪贴板、工作线程等),以及实现这些类型事件的主要类。

事件索引

事件类型 描述 文档
动画

Web 动画 API相关的事件。

用于响应动画状态的变化(例如,当动画开始或结束时)。

DocumentWindowHTMLElement上触发的动画事件。
异步数据获取

与获取数据相关的事件。

AbortSignalXMLHttpRequestFileReader上触发的事件。
剪贴板

剪贴板 API相关的事件。

用于通知何时剪切、复制或粘贴内容。

DocumentElementWindow上触发的事件。
合成

与合成相关的事件;“间接”输入文本(而不是使用正常的键盘按键)。

例如,通过语音到文本引擎输入的文本,或使用特殊的按键组合来修改键盘按键以表示另一种语言中的新字符。

Element上触发的事件。
CSS 过渡

CSS 过渡相关的事件。

在 CSS 过渡开始、停止、取消等时提供通知事件。

DocumentHTMLElementWindow上触发的事件。
数据库

与数据库操作相关的事件:打开、关闭、事务、错误等。

IDBDatabaseIDBOpenDBRequestIDBRequestIDBTransaction上触发的事件。
DOM 变异

与文档对象模型 (DOM) 层次结构和节点的修改相关的事件。

警告:变异事件已弃用。应改用变异观察器

拖放、滚轮

与使用HTML 拖放 API滚轮事件相关的事件。

拖放和滚轮事件派生自鼠标事件。虽然它们在使用鼠标滚轮或拖放时触发,但也可以与其他合适的硬件一起使用。

Document上触发的拖放事件

Element上触发的滚轮事件

焦点

与元素获得和失去焦点相关的事件。

ElementWindow上触发的事件。
表单

与表单构建、重置和提交相关的事件。

HTMLFormElement上触发的事件。
全屏

全屏 API相关的事件。

用于通知在全屏和窗口模式之间转换时,以及在此转换过程中发生的错误。

DocumentElement上触发的事件。
游戏手柄

游戏手柄 API相关的事件。

Window上触发的事件。
手势

建议使用触摸事件来实现手势。

DocumentElement上触发的事件。

此外,还有一些非标准的手势事件

历史记录

历史记录 API相关的事件。

Window上触发的事件。
HTML 元素内容显示管理

与更改显示或文本元素的状态相关的事件。

HTMLDetailsElementHTMLDialogElementHTMLSlotElement上触发的事件。
输入

与 HTML 输入元素相关的事件,例如<input><select><textarea>

HTMLElementHTMLInputElement上触发的事件。
键盘

与使用键盘相关的事件。

用于通知何时按下、松开或移动按键。

DocumentElement上触发的事件。
加载/卸载文档

与加载和卸载文档相关的事件。

DocumentWindow上触发的事件。

清单

与安装渐进式 Web 应用清单相关的事件。

Window上触发的事件。
媒体

与媒体使用相关的事件(包括媒体捕获和流 APIWeb 音频 API画中画 API等)。

ScriptProcessorNodeHTMLMediaElementAudioTrackListAudioScheduledSourceNodeMediaRecorderMediaStreamMediaStreamTrackVideoTrackListHTMLTrackElementOfflineAudioContextTextTrackTextTrackList元素/音频元素/视频上触发的事件。
消息传递

与窗口从另一个浏览上下文接收消息相关的事件。

Window上触发的事件。
鼠标

与使用计算机鼠标相关的事件。

用于通知鼠标何时单击、双击、按下和松开事件、右键单击、移入和移出元素、文本选择等。

指针事件为鼠标事件提供了一种与硬件无关的替代方案。拖放和滚轮事件派生自鼠标事件。

Element上触发的鼠标事件
网络/连接

与获得和失去网络连接相关的事件。

Window上触发的事件。

NetworkInformation网络信息 API)上触发的事件。

支付

支付请求 API相关的事件。

PaymentRequestPaymentResponse上触发的事件。

性能

与任何与性能相关的规范相关的事件,这些规范被分组到性能 API中。

Performance上触发的事件。

指针

指针事件 API相关的事件。

提供来自指向设备(包括鼠标、触摸、笔/触控笔)的与硬件无关的通知。

DocumentHTMLElement上触发的事件。
打印

与打印相关的事件。

Window上触发的事件。
Promise 拒绝

当任何 JavaScript Promise 被拒绝时,发送到全局脚本上下文的事件。

Window上触发的事件。
套接字

WebSockets API相关的事件。

Websocket上触发的事件。
SVG

与 SVG 图像相关的事件。

SVGElementSVGAnimationElementSVGGraphicsElement上触发的事件。

文本选择

与选择文本相关的选择 API事件。

HTMLTextAreaElementHTMLInputElement上触发的事件 (selectionchange)。

触摸

触摸事件 API相关的事件。

提供与交互式触摸屏(即使用手指或触控笔)相关的通知事件。与力度触控 API无关。

DocumentElement上触发的事件。
虚拟现实

WebXR 设备 API相关的事件。

警告:WebVR API(以及相关的Window 事件)已弃用。

XRSystemXRSessionXRReferenceSpace上触发的事件。
RTC(实时通信)

WebRTC API相关的事件。

RTCDataChannelRTCDTMFSenderRTCIceTransportRTCPeerConnection上触发的事件。
服务器发送事件

服务器发送事件 API相关的事件。

EventSource上触发的事件。
语音

Web 语音 API相关的事件。

SpeechSynthesisUtterance上触发的事件。
工作线程

Web 工作线程 API服务工作线程 API广播通道 API通道消息传递 API相关的事件。

用于响应新消息和消息发送错误。服务工作线程还可以收到其他事件的通知,包括推送通知、用户点击显示的通知、推送订阅已失效、从内容索引中删除项目等。

ServiceWorkerGlobalScopeDedicatedWorkerGlobalScopeSharedWorkerGlobalScopeWorkerGlobalScopeWorkerBroadcastChannelMessagePort上触发的事件。

规范

规范
HTML 标准
# events-2