Event 对象
HTML DOM 中的所有事件对象都基于 Event 对象。
所有事件对象(如 MouseEvent 和 KeyboardEvent)都可以访问 Event 对象的属性和方法。
Event 对象事件
| 事件 | 发生时间 |
|---|---|
| abort | 媒体加载被中止 |
| afterprint | 页面已开始打印 |
| beforeprint | 页面即将被打印 |
| beforeunload | 文档即将被卸载之前 |
| canplay | 浏览器可以开始播放媒体(已缓冲足够开始播放) |
| canplaythrough | 浏览器可以播放媒体而无需停止缓冲 |
| change | 表单元素的内容已更改 |
| ended | 媒体已到达末尾(“感谢收听”) |
| error | 加载文件时发生错误 |
| fullscreenchange | 元素以全屏模式显示 |
| fullscreenerror | 元素无法以全屏模式显示 |
| input | 元素获取用户输入 |
| invalid | 元素无效 |
| load | 对象已加载 |
| loadeddata | 媒体数据已加载 |
| loadedmetadata | 元数据(如尺寸和持续时间)已加载 |
| message | 通过事件源收到消息 |
| offline | 浏览器开始离线工作 |
| online | 浏览器开始在线工作 |
| open | 与事件源的连接已打开 |
| pause | 媒体暂停 |
| play | 媒体已开始或不再暂停 |
| playing | 媒体在暂停或缓冲后正在播放 |
| progress | 浏览器正在下载媒体数据 |
| ratechange | 媒体的播放速度已更改 |
| resize | 文档视图已调整大小 |
| reset | 表单已重置 |
| scroll | 滚动条正在滚动 |
| search | 搜索字段中已输入内容 |
| seeked | 跳到新位置已完成 |
| seeking | 跳到新位置已开始 |
| select | 用户选择了一些文本 |
| show | <menu> 元素作为上下文菜单显示 |
| stalled | 浏览器正在尝试获取不可用的媒体数据 |
| submit | 表单已提交 |
| suspend | 浏览器故意不获取媒体数据 |
| timeupdate | 播放位置已更改(用户移动到媒体中的不同点) |
| toggle | 用户打开或关闭 <details> 元素 |
| unload | 页面已卸载 |
| waiting | 媒体已暂停,但预计会恢复(例如,缓冲) |
| volumechange | 媒体的音量已更改(包括静音) |
HTML DOM 中的所有事件对象都基于 Event 对象。
所有事件对象(如 MouseEvent 和 KeyboardEvent)都可以访问 Event 对象的属性和方法。
事件属性和方法
| 属性/方法 | 描述 |
|---|---|
| bubbles | 返回特定事件是否是冒泡事件 |
| cancelBubble | 设置或返回事件是否应在层次结构中传播 |
| cancelable | 返回事件是否可以阻止其默认操作 |
| composed | 返回事件是否合成 |
| createEvent() | 创建一个新事件 |
| composedPath() | 返回事件路径 |
| currentTarget | 返回其事件监听器触发事件的元素 |
| defaultPrevented | 返回是否为该事件调用了 preventDefault() 方法 |
| eventPhase | 返回当前正在评估的事件流阶段 |
| isTrusted | 返回事件是否受信任 |
| preventDefault() | 如果事件可取消,则取消事件,这意味着事件所属的默认操作将不会发生 |
| stopImmediatePropagation() | 阻止同一事件的其他监听器被调用 |
| stopPropagation() | 阻止事件在事件流期间进一步传播 |
| target | 返回触发事件的元素 |
| timeStamp | 返回事件创建时的时间(相对于纪元的毫秒数) |
| type | 返回事件的名称 |