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

[前端开发] 常见的 HTML CSS JavaScript 事件

  • 代码示例指路 常见的 HTML、CSS、JavaScript 事件代码示例

常见的 HTML CSS JavaScript 事件

  • 事件
    • HTML 事件
      • 鼠标事件
      • 键盘事件
      • 表单事件
    • JavaScript 事件对象
    • 事件代理(事件委托)


事件

在 Web 开发中,事件是用户与网页交互的重要方式之一。通过事件,用户可以与页面元素进行交互,触发相应的功能或效果。本文将介绍常见的 HTML、CSS、JavaScript 事件,以及事件对象和事件代理的概念。

HTML 事件

鼠标事件

鼠标事件是用户通过鼠标与页面元素交互时触发的事件。常见的鼠标事件包括:

  • click: 单击鼠标时触发。
  • dblclick: 在同一元素双击鼠标时触发。
  • mousedown: 按下鼠标键时触发。
  • mouseup: 释放按下的鼠标键时触发。
  • mousemove: 当鼠标在节点内部移动时触发,持续移动时会连续触发。
  • mouseenter: 鼠标进入一个节点时触发,进入子节点不会触发。
  • mouseleave: 鼠标离开一个节点时触发,离开父节点不会触发。
  • mouseover: 鼠标进入一个节点时触发,进入子节点会再次触发。
  • mouseout: 鼠标离开一个节点时触发,离开父节点也会触发。
  • wheel: 滚动鼠标时触发。

键盘事件

键盘事件是用户通过键盘与页面元素交互时触发的事件。常见的键盘事件包括:

  • keydown: 按下键盘时触发。
  • keypress: 按下有值的键触发(数字、字母等)。
  • keyup: 松开键盘时触发。

表单事件

表单事件是用户在表单元素中输入时触发的事件。常见的表单事件包括:

  • input: 当表单元素的值发生改变时触发。
  • select: 当在输入框中选中文本时触发。
  • change: 当表单元素的值发生改变时触发,但与 input 不同的是不会连续触发,而是在全部修改完后触发。
  • reset: 当表单重置时触发,即所有表单成员变回默认值。
  • submit: 当表单数据向服务器提交时触发。

JavaScript 事件对象

事件发生后,会产生一个事件对象作为参数传给监听函数。事件对象常见的属性包括:

  • Event.target: 返回事件当前所在的节点。
  • Event.type: 返回一个字符串,表示事件的类型。
  • Event.preventDefault(): 取消浏览器对当前事件的默认行为。
  • Event.stopPropagation(): 阻止事件在 DOM 中继续传播。

事件代理(事件委托)

事件代理是一种将事件处理程序添加到一个父元素上,以处理其子元素的事件的技术。通过事件代理,可以实现更高效的事件管理,减少事件处理程序的数量。常用于列表或表格等动态内容的处理。

<ul id="list"><li>列表1</li><li>列表2</li><li>列表3</li><li>列表4</li><li>列表5</li>
</ul><script>var list = document.getElementById("list");list.addEventListener("click", function(e) {if (e.target.tagName === "LI") {console.log("点击了 li 标签");console.log(e.target.innerHTML);}});
</script>

通过事件代理,我们可以在父元素上监听子元素的事件,从而简化代码并提高性能。

在 Web 开发中,事件是实现交互的关键,理解事件相关知识将有助于更好地处理用户与网页之间的交互行为。

相关文章:

  • aiofiles:解锁异步文件操作的神器
  • Unity类银河恶魔城学习记录7-6 P72 Bouncy sword源代码
  • LLM之LangChain(七)| 使用LangChain,LangSmith实现Prompt工程ToT
  • 树与二叉树---数据结构
  • bat脚本 创建计划任务 一分钟设置ntp同步周期为60s
  • Gin框架: 快速搭建起一个Web应用环境及处理不同类型的响应
  • wordpress外贸成品网站模板
  • 二叉树相关OJ题
  • Python编程中的异常处理
  • 利用Excel模拟投币试验
  • 简单试验:用Excel进行爬虫
  • 双活工作关于nacos注册中心的数据迁移
  • javaweb学习day03(JS+DOM)
  • python第六节:字典dict(2)
  • Pytorch卷积层原理和示例 nn.Conv1d卷积 nn.Conv2d卷积
  • 78. Subsets
  • bootstrap创建登录注册页面
  • express + mock 让前后台并行开发
  • express.js的介绍及使用
  • Java编程基础24——递归练习
  • Laravel 实践之路: 数据库迁移与数据填充
  • MYSQL 的 IF 函数
  • NSTimer学习笔记
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • TCP拥塞控制
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 目录与文件属性:编写ls
  • 前端攻城师
  • 智能合约开发环境搭建及Hello World合约
  • 中文输入法与React文本输入框的问题与解决方案
  • 移动端高清、多屏适配方案
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • $.ajax,axios,fetch三种ajax请求的区别
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (二)windows配置JDK环境
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (汇总)os模块以及shutil模块对文件的操作
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .htaccess 强制https 单独排除某个目录
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .net core 依赖注入的基本用发
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET轻量级ORM组件Dapper葵花宝典
  • /etc/shadow字段详解
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [Android]Android开发入门之HelloWorld
  • [Android]Tool-Systrace
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)
  • [C#7] 1.Tuples(元组)