JS 事件类型集合

JS 事件类型集合
最新回答
懵蓝初梦

2026-10-23 13:35:07

JS 事件类型集合包括但不限于以下类型:

  • 文档加载与卸载相关事件:

    • DOMContentLoaded:当 HTML 文档加载完毕时触发,常用于执行页面初始化操作。
    • beforeunload:在窗口即将关闭时触发,常用于提示用户保存未保存数据或执行清理操作。
    • unload:在窗口或框架关闭时触发,用于页面关闭前执行清理操作。
  • 设备相关事件:

    • deviceMotion:在设备检测到运动变化时触发,与加速度计相关,适用于移动设备运动检测。
    • deviceOrientation:在设备方向变化时触发,与陀螺仪相关,适用于检测设备方向变化。
    • orientationchange:在设备方向发生变化时触发,用于响应设备方向变化进行页面布局调整。
  • 游戏手柄相关事件:

    • gamepadconnected:在游戏手柄连接时触发。
    • gamepaddisconnected:在游戏手柄断开时触发。
  • 打印相关事件:

    • afterprint:在文档完成打印后触发,常用于打印完成后的额外操作。
    • beforeprint:在文档开始打印前触发,用于打印前的准备工作。
  • 历史记录与导航相关事件:

    • hashchange:在 URL 的片段标识符发生变化时触发,适用于监听浏览器历史记录变化。
    • popstate:当浏览器历史记录发生变化时触发。
  • 存储相关事件:

    • storage:在浏览器本地存储发生变化时触发,用于监听 localStorage 或 sessionStorage 变化。
  • 网络连接状态相关事件:

    • offline:在设备进入离线状态时触发。
    • online:在设备进入在线状态时触发。
  • 页面生命周期相关事件:

    • pagehide:在页面隐藏时触发。
    • pageshow:在页面显示时触发。
  • Promise 相关事件:

    • rejectionhandled:在 Promise 拒绝操作被处理时触发。
    • unhandledrejection:在未处理的 Promise 拒绝时触发。
  • 全屏模式相关事件:

    • fullscreenchange:在全屏模式进入或退出时触发。
    • fullscreenerror:在尝试全屏模式失败时触发。
  • 指针锁定相关事件:

    • pointerlockchange:在鼠标指针锁定状态改变时触发。
    • pointerlockerror:在尝试锁定鼠标指针失败时触发。
  • 文档状态相关事件:

    • readystatechange:在文档 readyState 属性发生变化时触发。
  • 可见性相关事件:

    • visibilitychange:在文档可见性状态发生变化时触发。
  • 资源加载与错误相关事件:

    • abort:在资源加载过程被终止时触发。
    • error:在加载资源失败、执行 JavaScript 错误等错误时触发。
    • load:与资源加载完成相关。
    • progress:在资源下载时周期性触发,用于显示下载进度。
  • 表单与输入相关事件:

    • change:在表单元素值发生变化并失去焦点时触发。
    • input:在输入字段值发生变化时触发。
    • invalid:在表单元素值无效时触发。
    • submit:在表单提交时触发。
    • reset:在表单被重置时触发。
    • beforeinput:在用户输入之前触发。
  • 焦点相关事件:

    • blur:在元素失去焦点时触发。
    • focus:在元素获得焦点时触发。
    • focusin:在元素或其子元素获得焦点时触发。
    • focusout:在元素或其子元素失去焦点时触发。
  • 鼠标与触摸事件:

    • click:在用户单击某个元素时触发。
    • dblclick:在用户双击某个元素时触发。
    • mousedown、mouseup、mousemove 等:与鼠标操作相关。
    • touchstart、touchend、touchmove、touchcancel:与触摸操作相关。
    • auxclick:在用户使用辅助鼠标按钮点击元素时触发。
    • wheel:在鼠标滚轮被滚动时触发。
  • 拖拽相关事件:

    • drag、dragend、dragenter、dragleave、dragover、dragstart、drop:与拖拽操作相关。
  • 媒体播放相关事件:

    • canplay、canplaythrough:与音频/视频元素播放状态相关。
    • ended:在媒体播放结束时触发。
    • pause、play、playing:与媒体播放状态相关。
    • ratechange:在媒体播放速率发生变化时触发。
    • seeked、seeking:与媒体寻址操作相关。
    • stalled:在媒体播放延迟时触发。
    • suspend:在媒体暂停加载时触发。
    • timeupdate:在媒体播放位置发生改变时触发。
    • volumechange:在音量属性发生变化时触发。
    • waiting:在媒体播放因缓冲而停止时触发。
    • durationchange:在媒体时长发生变化时触发。
    • emptied:在媒体资源被清空时触发。
  • 剪贴板相关事件:

    • copy:在用户复制文本或其他数据时触发。
    • cut:在用户剪切选中的文本或其他数据时触发。
    • paste:在用户粘贴内容时触发。
  • 键盘事件:

    • keydown、keypress、keyup:与键盘按键操作相关。
  • 其他事件:

    • close:在窗口或标签关闭时触发。
    • contextmenu:在用户右键点击元素时触发,通常用于自定义右键菜单。
    • formdata:在收集表单数据时触发。
    • gotpointercapture:在元素捕获指针事件时触发。
    • lostpointercapture:在元素失去指针事件捕获时触发。
    • resize:在窗口或框架被调整大小时触发。
    • scroll:在页面滚动时触发。
    • scrollend:在滚动停止后触发。
    • select:在用户完成文本选择时触发。
    • slotchange:在 slot 元素内容变化时触发。
    • toggle:在元素状态被切换时触发。
    • transitioncancel:在 CSS 过渡被取消时触发。
    • transitionend:在 CSS 过渡结束时触发。
    • transitionrun、transitionstart:与 CSS 过渡开始执行相关。
    • webkitanimationend、webkitanimationiteration、webkitanimationstart:与 WebKit 浏览器中的 CSS 动画相关。
    • webkittransitionend:在 WebKit 浏览器中当 CSS 过渡结束时触发。
    • securitypolicyviolation:在安全策略被违反时触发。

这些事件类型涵盖了 Web 开发中常见的各种交互场景,开发者可以根据具体需求选择合适的事件类型来处理用户交互。