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

常见的 HTML CSS 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 中继续传播。

事件代理(事件委托)

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

html 复制代码
<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 开发中,事件是实现交互的关键,理解事件相关知识将有助于更好地处理用户与网页之间的交互行为。

相关推荐
福兮说6 小时前
设计稿是 #4A7C6F,页面量出来是 #4B7C6F:HEX、HSL、透明度、canvas 来回转的七个坑
前端·javascript·css·canvas
郑州光合科技余经理6 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
小呆呆6667 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
凤城老人7 小时前
从 PyQt6 到 Electron:给 Edge TTS 做一个“多角色配音机“的踩坑手记
javascript·typescript·electron
Dovis(誓平步青云)7 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
码艺-Alimjan8 小时前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js
可乐鸡翅yeah_8 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
IT_陈寒8 小时前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端
广州华水科技9 小时前
大坝安全监测解决方案:单北斗GNSS形变监测系统应用与维护
前端
yivifu9 小时前
中文古籍电子书注释集成
前端·javascript·python·beautifulsoup·epub