es6 基础学习之事件简介之类的相关

JavaScript 的事件模型并没有在 ES6 中得到特殊的更新或改进,它是 DOM(文档对象模型)编程的一个基础概念。这里简要介绍一下事件和相关概念。

事件简介

事件是网页或浏览器与用户互动的一种方式。例如,当用户点击按钮、提交表单或者按下键盘等动作时,都会触发事件。

常见的事件类型

  • click: 当元素被点击时触发
  • submit: 当表单被提交时触发
  • keydown: 当按键被按下时触发
  • keyup: 当按键被释放时触发
  • mouseover: 当鼠标移动到元素上时触发

添加事件监听器

使用 addEventListener 方法可以给 DOM 元素添加事件监听器。

javascript 复制代码
// HTML
// <button id="myButton">Click Me!</button>

// JavaScript
const button = document.getElementById('myButton');

button.addEventListener('click', function() {
  alert('Button clicked!');
});

事件对象

当事件被触发时,会生成一个事件对象,并传递给事件处理器(event handler)。这个对象包含了关于事件的各种信息,如触发事件的元素、事件类型等。

javascript 复制代码
button.addEventListener('click', function(event) {
  console.log('Event Type:', event.type);  // 输出 "Event Type: click"
  console.log('Target Element:', event.target);  // 输出 "Target Element: [object HTMLButtonElement]"
});

事件冒泡和捕获

在 DOM 树中,同一个事件会经过两个阶段:捕获阶段和冒泡阶段。默认情况下,事件监听器是在冒泡阶段触发的,但你也可以设置它在捕获阶段触发。

javascript 复制代码
// 在捕获阶段触发
element.addEventListener('click', function() {
  // 事件处理逻辑
}, true);

阻止默认行为和冒泡

  • 使用 event.preventDefault() 阻止事件的默认行为。
  • 使用 event.stopPropagation() 阻止事件冒泡。
javascript 复制代码
button.addEventListener('click', function(event) {
  event.preventDefault();  // 阻止默认行为
  event.stopPropagation();  // 阻止事件冒泡
});

这些是事件在前端开发中的一些基础概念。虽然它们并不是 ES6 的一部分,但了解这些基础知识对于理解和使用 JavaScript,特别是在浏览器环境中,是非常重要的。希望这能帮助你更好地理解事件和相关概念。

相关推荐
真的很上进5 分钟前
如何借助 Babel+TS+ESLint 构建现代 JS 工程环境?
java·前端·javascript·css·react.js·vue·html
web1309332039811 分钟前
vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法
前端·vue.js·elementui
NiNg_1_23432 分钟前
Echarts连接数据库,实时绘制图表详解
前端·数据库·echarts
如若1231 小时前
对文件内的文件名生成目录,方便查阅
java·前端·python
滚雪球~2 小时前
npm error code ETIMEDOUT
前端·npm·node.js
沙漏无语2 小时前
npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
supermapsupport2 小时前
iClient3D for Cesium在Vue中快速实现场景卷帘
前端·vue.js·3d·cesium·supermap
brrdg_sefg2 小时前
WEB 漏洞 - 文件包含漏洞深度解析
前端·网络·安全
胡西风_foxww2 小时前
【es6复习笔记】rest参数(7)
前端·笔记·es6·参数·rest
m0_748254882 小时前
vue+elementui实现下拉表格多选+搜索+分页+回显+全选2.0
前端·vue.js·elementui