尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

DOM事件

DOM事件
📅 发布时间:2026/7/24 2:42:20

DOM事件:DOM 事件是指浏览器中用户与页面交互或浏览器自身行为发生时触发的信号,你可以通过 JavaScript 监听这些信号并执行相应的代码。

通俗理解

把 DOM 事件想象成"通知":

场景触发的"通知"(事件)
用户点击按钮click
鼠标移到一个元素上mouseenter
键盘按下一个键keydown
页面加载完成load
输入框内容改变input/change
表单提交submit

基本用法(三种绑定方式)

1. HTML 属性方式(不推荐)

html

<button οnclick="alert('点击了')">点我</button>

2. DOM 属性方式

javascript

const btn = document.getElementById('myBtn'); btn.onclick = function() { alert('点击了'); };

3. 标准方式:addEventListener(推荐)

javascript

const btn = document.getElementById('myBtn'); btn.addEventListener('click', function() { alert('点击了'); });

🔄 事件流(捕获 → 目标 → 冒泡)

当你点击一个嵌套的元素时,事件会经历三个阶段:

text

1. 捕获阶段(从外到内) document → html → body → div → button 2. 目标阶段(到达目标) button(被点击的元素) 3. 冒泡阶段(从内到外) button → div → body → html → document

html

<div id="parent"> <button id="child">点我</button> </div>

javascript

// 默认是冒泡阶段(第三个参数 false 或不写) document.getElementById('parent').addEventListener('click', function() { console.log('父元素被点击了'); }, false); // false = 冒泡阶段 // 捕获阶段(第三个参数 true) document.getElementById('parent').addEventListener('click', function() { console.log('父元素捕获到了'); }, true); // true = 捕获阶段

🚫 阻止事件行为

方法作用
event.stopPropagation()阻止事件继续传播(阻止冒泡或捕获)
event.preventDefault()阻止元素的默认行为(如链接跳转、表单提交)

javascript

document.getElementById('link').addEventListener('click', function(event) { event.preventDefault(); // 阻止跳转 event.stopPropagation(); // 阻止冒泡 console.log('点击了链接,但没有跳转'); });

🧩 常见 DOM 事件分类

类别事件名触发时机
鼠标click,dblclick,mousedown,mouseup,mousemove,mouseenter,mouseleave鼠标操作
键盘keydown,keyup,keypress键盘操作
表单input,change,submit,focus,blur表单交互
窗口load,resize,scroll,unload页面/窗口变化
触摸touchstart,touchmove,touchend移动端触屏
剪贴板copy,cut,paste复制/粘贴

相关新闻

  • TPS657095 PMU实战:从EVM评估到嵌入式相机电源设计优化
  • 卡地亚香港售后通知:2026年7月最新网点地址+客户服务电话核验 - 卡地亚服务中心
  • AI文献工具实用指南:高效赋能学术研究与文献整理的智能辅助工具

最新新闻

  • 链表污染或节点劫持
  • 兼容 3.3V 主控,EG2132 高压半桥驱动优选 EG2132 300V 栅驱芯片,低成本搞定无刷电机 / 快充电源设计
  • 全球半固态无人机电池市场发展规模分析及投资趋势预测报告2026年版
  • LLM微调实战:LoRA技术在金融问答系统中的应用
  • SN65DSI86/96硬件设计实战:MIPI DSI转eDP桥接芯片PCB布局与信号完整性指南
  • MSPM0 I2C DMA触发机制详解:从FIFO事件到高效数据流

日新闻

  • 武汉卡地亚LOVE钻戒与钻石项链回收变现攻略|多家门店行情参考 - 大牌深度测评
  • 2026年无锡地区健康管理如何考量?四家机构业务体系概览
  • 2026图片去水印软件哪个好用 手机电脑免费工具盘点 - 免费软件工具方法教程

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号