当前位置: 首页 > news >正文

JavaScript 常用事件总结汇总

JavaScript 事件是网页交互的核心,以下是常用事件的分类总结:

鼠标事件

  1. click - 元素被点击时触发

  2. dblclick - 元素被双击时触发

  3. mouseenter - 鼠标进入元素时触发(不冒泡)

  4. mouseleave - 鼠标离开元素时触发(不冒泡)

  5. mouseover - 鼠标进入元素或其子元素时触发(冒泡)

  6. mouseout - 鼠标离开元素或其子元素时触发(冒泡)

  7. mousemove - 鼠标在元素内移动时触发

  8. mousedown - 鼠标按钮在元素上按下时触发

  9. mouseup - 鼠标按钮在元素上释放时触发

  10. contextmenu - 右键点击打开上下文菜单时触发

键盘事件

  1. keydown - 键盘按键按下时触发

  2. keyup - 键盘按键释放时触发

  3. keypress - 键盘按键按下并释放时触发(已废弃,推荐使用 keydown/keyup)

表单事件

  1. submit - 表单提交时触发

  2. reset - 表单重置时触发

  3. change - 表单元素值改变并失去焦点时触发(如 input, select, textarea)

  4. input - 表单元素值改变时实时触发

  5. focus - 元素获得焦点时触发

  6. blur - 元素失去焦点时触发

  7. select - 文本被选中时触发(如 input 或 textarea)

窗口事件

  1. load - 页面或资源加载完成时触发

  2. DOMContentLoaded - HTML 文档完全加载和解析后触发(不等待样式表、图像等)

  3. resize - 窗口大小改变时触发

  4. scroll - 元素滚动时触发

  5. beforeunload - 页面即将卸载前触发(常用于防止意外离开)

  6. unload - 页面卸载时触发

触摸事件(移动端)

  1. touchstart - 手指触摸屏幕时触发

  2. touchmove - 手指在屏幕上滑动时触发

  3. touchend - 手指从屏幕离开时触发

  4. touchcancel - 触摸被意外中断时触发(如来电)

其他常用事件

  1. copy - 用户复制内容时触发

  2. cut - 用户剪切内容时触发

  3. paste - 用户粘贴内容时触发

  4. transitionend - CSS 过渡完成时触发

  5. animationstart - CSS 动画开始时触发

  6. animationend - CSS 动画结束时触发

  7. animationiteration - CSS 动画重复播放时触发

事件绑定方式

// 1. HTML属性方式
<button onclick="handleClick()">Click me</button>// 2. DOM属性方式
element.onclick = function() { /*...*/ };// 3. addEventListener (推荐)
element.addEventListener('click', function(e) {// 事件处理逻辑e.preventDefault(); // 阻止默认行为e.stopPropagation(); // 阻止事件冒泡
});// 移除事件监听
element.removeEventListener('click', handlerFunction);

事件对象常用属性和方法

  • target - 触发事件的元素

  • currentTarget - 绑定事件的元素

  • type - 事件类型(如 "click")

  • preventDefault() - 阻止默认行为

  • stopPropagation() - 阻止事件冒泡

  • stopImmediatePropagation() - 阻止同一事件的其他监听器被调用

  • clientX/clientY - 鼠标相对于视口的坐标

  • key - 按下的键盘按键值

事件委托示例

// 利用事件冒泡,在父元素上处理子元素的事件
document.getElementById('parent').addEventListener('click', function(e) {if(e.target.matches('button.child')) {console.log('子按钮被点击');}
});

掌握这些事件可以满足大多数网页交互开发需求。根据具体场景选择合适的事件类型和绑定方式。

http://www.dtcms.com/a/337733.html

相关文章:

  • 前端css学习笔记7:各种居中布局空白问题
  • Ethan独立开发新品速递 | 2025-08-18
  • 开发避坑指南(28):Spring Boot端点检查禁用失效解决方案
  • 【Linux操作系统】简学深悟启示录:进程状态优先级
  • 遨游三防科普|三防平板是指哪三防?应用在什么场景?
  • linux对外提供snmp服务
  • Pytest项目_day18(读取ini文件)
  • Spring Boot 实用小技巧:多级缓存(Caffeine + Redis)- 第545篇
  • 如何解决机器翻译的“幻觉“问题(Hallucination)?
  • 当AI学会“思考”:大语言模型背后的智能本质与伦理边界
  • 【提示词技巧】通用提示词原则介绍
  • Linux学习-软件编程(进程间通信1)
  • ROS 2 中用于建图的一些 topic
  • PyTorch神经网络工具箱(优化器)
  • buuctf:护网杯_2018_gettingstart、oneshot_tjctf_2016
  • llamafactory使用qlora训练
  • VectorDB+FastGPT一站式构建:智能知识库与企业级对话系统实战
  • 使用LLaMA-Factory对大模型进行微调-详解
  • OSG+Qt —— 笔记2- Qt窗口绘制棋盘及模型周期运动(附源码)
  • linux:告别SSH断线烦恼,Screen命令核心使用指南
  • 第四章:大模型(LLM)】07.Prompt工程-(1)Prompt 原理与基本结构
  • 大数据分析-读取文本文件内容进行词云图展示
  • Zephyr 中的 bt_le_per_adv_set_data 函数的介绍和应用方法
  • [机器学习]09-基于四种近邻算法的鸢尾花数据集分类
  • 具身智能赋能轮椅机器人的认知革命与人机共生新范式
  • 【软考架构】第4章 信息安全的抗攻击技术
  • 从「行走」到「思考」:机器人进化之路与感知—决策链路的工程化实践
  • 微电网管控系统中python多线程缓存与SQLite多数据库文件连接池实践总结(含源码)
  • 安川YASKAWA焊接机器人保护气智能节气阀
  • 蓝牙 GFSK RX Core 架构解析