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

JavaScript事件监听详解|从点击修改文字到随机背景色(新手实战教程)

JavaScript事件监听详解|从点击修改文字到随机背景色(新手实战教程)
📅 发布时间:2026/7/19 22:15:12

网页之所以能实现人机交互(点击、悬浮、输入、跳转),核心全靠JS 事件监听。
静态的 HTML + CSS 只能做展示,加入事件监听后,网页才能「听懂用户操作」并执行对应逻辑。
本文结合两段超实用实战代码:点击修改文本、点击随机切换背景色,从零带你吃透 addEventListener 事件监听,新手看完直接上手写交互效果。


一、什么是 JS 事件监听?

  1. 核心概念
    事件监听:监视用户的行为,当指定行为触发时,执行对应的代码。
    常见用户行为(事件):点击、鼠标移入、鼠标移出、键盘按下、窗口加载、输入内容等。
  2. 事件三要素(必记)
  • 事件源:谁要被监听?(按钮、div、输入框等DOM元素)
  • 事件类型:监听什么行为?(click 点击、mouseover 悬浮等)
  • 事件处理函数:触发后做什么?(改文字、变色、弹窗、跳转)
  1. 为什么推荐 addEventListener?
    JS 绑定事件有三种方式,现代开发只推荐 addEventListener:
  • 支持给同一个元素绑定多个事件,不会覆盖
  • 语法规范、兼容性好、可移除事件
  • 分离结构与行为,代码更整洁易维护

二、实战案例一:点击元素修改文字内容
需求:页面存在一个盒子,点击盒子后,盒子文字变为 Hello world。

  1. 完整可运行代码
事件监听-修改文字
点击我试试
<script> // 1. 获取事件源:id为chele的盒子 let pata = document.querySelector('#chele'); // 2. 绑定点击事件监听 pata.addEventListener("click", function(){ // 3. 触发后的逻辑:修改当前元素内部文字 this.innerHTML = "Hello world"; }) </script>
2. 代码逐行解析 1. document.querySelector('#chele'):通过 id 获取 DOM 元素,即我们要监听的盒子(事件源) 2. addEventListener("click", function(){}):绑定点击事件,监听用户点击操作 3. this:指向当前触发事件的元素(也就是 #chele 盒子) 4. innerHTML:修改元素内部的文本/HTML内容 3. 核心亮点 this 关键字妙用:不用重复获取元素,直接指代触发对象,代码更简洁。

三、实战案例二:点击按钮随机切换网页背景色
需求:点击按钮,自动生成随机 RGB 颜色,修改网页整体背景色。
本案例用到:事件监听 + 随机数封装函数,是前端高频交互效果。

  1. 完整可运行代码
事件监听-随机换背景色点击切换背景色
<script> // 获取按钮元素 let srr = document.querySelector("button"); // 绑定点击事件监听 srr.addEventListener("click", bgChange); // 背景色切换函数 function bgChange(){ // 拼接随机RGB颜色 let color = "rgb(" + random(255) + "," + random(255) + "," + random(255)+")" // 修改body背景色 document.body.style.backgroundColor = color } // 生成0~最大值的随机整数 function random(number){ return Math.floor(Math.random()*(number+1)) } </script>
2. 核心逻辑拆解 (1)随机数函数封装 Math.random():生成 0~1 之间的随机小数 Math.floor():向下取整,保证得到整数 最终生成 0~255 的整数,完美适配 RGB 颜色取值范围 (2)RGB颜色拼接 RGB 颜色规则:rgb(红,绿,蓝),三个数值均为 0-255,通过随机函数生成三原色数值,实现完全随机配色。 (3)样式修改 document.body.style.backgroundColor:修改页面主体背景样式,实现视觉变色效果。 3. 分离函数写法优势 - 将随机数生成、变色逻辑拆分,代码模块化 - 函数可复用,后续其他场景需要随机数可直接调用 - 比匿名函数更易阅读、易调试

四、两种事件写法对比(重点)

  1. 匿名函数写法(适合单次简单逻辑)
    对应案例一:修改文字
    pata.addEventListener(“click”, function(){
    this.innerHTML = “Hello world”;
    })
    优点:代码紧凑、无需单独定义函数
    缺点:无法复用、适合简单短逻辑
  2. 具名函数写法(适合复杂、可复用逻辑)
    对应案例二:随机变色
    srr.addEventListener(“click”, bgChange);
    优点:逻辑清晰、函数可复用、方便移除事件
    缺点:需要单独定义函数

五、新手常见易错点总结

  • 获取元素时机错误:JS 代码必须写在 DOM 元素后面,否则获取不到元素,监听失效
  • 事件名不带on:addEventListener 中事件为 click,不是 onclick
  • 忘记随机数取整:不使用 Math.floor 会出现小数,颜色失效
  • this 使用混乱:箭头函数中 this 不指向 DOM 元素,简单点击事件优先用普通函数

六、拓展:常用高频事件清单
掌握 click 点击事件后,这些事件可以直接套用相同写法:

  • mouseover:鼠标移入
  • mouseout:鼠标移出
  • input:输入框输入事件
  • keydown:键盘按下
  • resize:窗口大小改变

写在最后
事件监听是 JS 交互的基石,所有网页特效、表单交互、弹窗切换、点击功能,底层全部依靠 addEventListener 实现。
本篇两个案例覆盖了简单文本修改和动态样式修改两大核心场景,新手熟练掌握后,可以自主拓展出点击变色、点击切换内容、鼠标悬浮特效等各类常用网页效果。

相关新闻

  • 2026年泉州清源山十大山居住宿优选榜单:深度评测与避坑指南 - 热点速览
  • 广州工业设备服务GEO城市合伙人选型推荐哪家靠谱:源头技术、分润模式与合伙人权益一次看清 - 子柔传媒
  • JavaMail核心功能与实战应用详解

最新新闻

  • RPG Maker解密工具:免费快速提取加密游戏资源的完整指南
  • 亨得利官方服务项目及价格查询|服务电话及地址权威信息公告(2026年7月最新) - 亨得利官方博客
  • 真力时官方售后服务中心电话和详细维修地址实地考察报告_多信源验证(2026年7月更新) - 亨得利官方服务中心
  • 2026 年7款标杆 CRM 拆解:产品亮点、落地场景与行业发展走向 - 企服数字化见闻
  • 5步掌握国家中小学智慧教育平台电子课本下载:教师必备的终极PDF获取指南
  • 【Pika视频生成实战指南】:零基础到日更爆款,2024最新V2.5模型参数调优全披露

日新闻

  • 百达翡丽官方服务项目及价格查询|维修地址与电话权威信息通告(2026年7月最新) - 百达翡丽服务中心
  • 2026年药食同源冲泡饮品哪家好:衡身堂三伏天内调外养 - 晚香时候
  • 芝柏官方更换原装表带价格查询|详细地址与24小时客服电话权威信息公告(2026年7月最新) - 亨得利官方服务中心

周新闻

  • 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 号