首页/对照列表/JS 事件速查

JS 事件速查 & 测试

JavaScript 常用 DOM 事件及其触发场景速查表及实时捕获测试仪。

事件类型 (EventType)描述/触发场景冒泡可取消
click按下并释放任意鼠标按键时触发
Yes
Yes
dblclick双击鼠标按键时触发
Yes
Yes
mousedown按下任意鼠标按键时触发
Yes
Yes
mouseup释放任意鼠标按键时触发
Yes
Yes
mousemove鼠标在元素上移动时持续触发
Yes
Yes
mouseenter光标进入元素区域(不支持冒泡)
No
No
mouseleave光标移出元素区域(不支持冒泡)
No
No
contextmenu用户尝试打开上下文菜单(右键)时触发
Yes
Yes
keydown按下任意键触发(支持持续按键触发)
Yes
Yes
keyup释放任意键触发
Yes
Yes
keypress已经过时,按下产生字符的键时触发
Yes
Yes
submit表单提交时触发
Yes
Yes
change元素内容变更且失去焦点时触发
Yes
No
input文本控件内容进行任何变化即时触发
Yes
No
focus元素获得焦点(不支持冒泡)
No
No
blur元素失去焦点(不支持冒泡)
No
No
load页面资源加载完毕时触发
No
No
resize浏览器主视口大小被调整时持续触发
No
No
scroll元素或视窗滚动时触发
Yes
No

功能简介

JS 事件速查

JavaScript 事件对照大全。深度收录从鼠标点击、键盘输入到 DOM 变化、触摸屏及媒体控制的所有 JS Event 常量与触发逻辑。

如何使用

1. 按触发类(如:键盘类)进行筛选;2. 在实时测试区通过操作捕获事件对象属性(如 e.target);3. 复制对应的事件监听器模版代码。

安全保障

事件侦听本地沙盒。我们不嗅探您在当前页面外的任何全局输入或交互行为。

100% Client Side
📘 使用指南与技术说明

痛点引入

作为一名前端开发者,你是否经常在深夜加班时突然想不起某个DOM事件的具体用法?或者在与后端联调时,因为事件触发时机不对而反复“踩坑”?没有一份系统的事件速查表,就像在黑暗中摸索,效率低下还容易出错。JS事件速查工具就是你的“摸鱼神器”,帮你快速定位问题,告别尴尬的调试过程。

核心功能深度解析

这个工具不仅仅是简单罗列事件名称,它深入解析了JavaScript事件模型的核心机制。基于W3C的DOM事件规范,工具涵盖了事件冒泡与捕获的完整流程,这是理解事件委托(Event Delegation)的关键。通过递归遍历DOM树,事件从目标元素向上或向下传播,工具详细展示了每个事件的触发时机和默认行为。例如,click事件实际上由mousedownmouseup等多个底层事件组合而成,工具会解释这些细节,帮助你避免在复杂交互中“翻车”。

行业应用场景

在联调环境中,当需要验证表单提交的submit事件是否正常触发时,你可以快速查阅工具,确保事件监听器正确绑定。测试阶段,利用loaderror事件来监控资源加载状态,提升页面稳定性。生产环境中,通过scrollresize事件优化性能,避免频繁触发导致的卡顿。例如,在电商网站中,使用mouseentermouseleave事件实现商品悬停效果,工具能帮你精准控制交互逻辑。

FAQ 常见问题

  1. 事件冒泡和捕获有什么区别? 事件捕获从根元素向下传播到目标元素,而冒泡则相反。默认情况下,事件处理使用冒泡阶段,但可以通过addEventListener的第三个参数设置为true来启用捕获。
  2. 如何阻止事件默认行为? 使用event.preventDefault()方法,例如阻止链接跳转或表单提交。
  3. 事件委托的原理是什么? 通过将事件监听器绑定到父元素,利用事件冒泡机制处理子元素的事件,减少内存占用并提升性能。
  4. mouseovermouseenter事件有何不同? mouseover在鼠标进入元素或其子元素时触发,会冒泡;而mouseenter只在进入元素本身时触发,不冒泡。
  5. 如何优化滚动事件性能? 使用节流(throttling)或防抖(debouncing)技术,减少事件处理函数的执行频率。

技术科普/延伸阅读

JavaScript事件系统基于W3C的DOM Level 2 Events规范,但随着现代浏览器的发展,新的API如PointerEvents正在逐渐普及。一个未解之谜是:在某些移动端设备上,click事件可能存在300毫秒的延迟,这是为了区分单击和双击,但可以通过touch-action CSS属性或使用fastclick库来缓解。推荐阅读MDN Web Docs的事件文档,深入了解事件循环和异步编程的关联。

📖 精选技术文章推荐

那些藏在 URL 里的双重编码漏洞:一次 SQL 注入的完整路径

明明部署了昂贵的 WAF 防火墙,为什么数据库还是被拖库了?黑客并没有使用什么零日漏洞,而是巧妙地利用了 URL 的“双重编码”特性。本文将带你重构一次真实的攻击路径,揭示架构分层中的安全盲区,以及开发者最容易犯的致命错误。

那个把对象直接 toString 传进 URL 的同事,把我们的接口搞崩了

一个前端新人的失误:'?filter=[object Object]',让后端的 JSON.parse 直接崩溃,引发了一场 P3 级事故。本文深入探讨 JSON 与 GET 参数互转的种种陷阱:嵌套对象怎么传?数组怎么解析?URL 长度限制在哪里?以及如何避开这些暗坑。

计算机差点变成巴别塔:Unicode 发明前,我们如何处理多语言文字

在 UTF-8 统治世界之前,计算机世界曾是一片混乱的割据地。为了显示中文、日文或希腊文,开发者们发明了无数互不兼容的“代码页”。本文带你回顾那段满是乱码、冲突与妥协的编码演进史,理解 Unicode 存在的终极意义。

消失的字符:处理民族文字展示时的编码与渲染深坑

在开发文本分析工具时,我们发现 UTF-8 并不是万能药。当遇到藏文的叠加字、维吾尔文的 RTL 镜像渲染以及复杂的 Unicode 代理对时,传统的字符串处理逻辑会瞬间失效。本文记录 daima.life 在适配多元文字时的技术复盘。

💡 想要更多功能?

发现 Bug 或是希望加入新工具?支持免费提建议或商业私有化定制开发