事件监听的艺术:掌握`addEventListener`的魅力

news2025/1/17 15:56:31

在这里插入图片描述

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6
🍨 阿珊和她的猫_CSDN个人主页
🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》
🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》

文章目录

  • 一、引言
    • 介绍`addEventListener`的基本概况。
  • 二、 `addEventListener`的基本概念
    • 解释`addEventListener`的作用。
  • 三、 `addEventListener`的语法
    • 详细介绍`addEventListener`的语法。
    • 提供示例代码,展示如何使用`addEventListener`监听不同类型的事件。

一、引言

介绍addEventListener的基本概况。

addEventListener 是 JavaScript 中的一个重要方法,它允许用户在特定事件发生时执行自定义的回调函数

以下是 addEventListener 的基本概念、语法和常见事件类型的介绍。

一、基本概念

  1. addEventListener 用于向事件目标添加事件监听器。
  2. 事件监听器是一个回调函数,当事件发生时,该函数将被调用。
  3. 事件目标是指可以触发事件的 HTML 元素或 JavaScript 对象。

二、语法

addEventListener(eventType, listener, useCapture)

  1. eventType:事件类型,如 “click”、“keydown”、“mousemove” 等。
  2. listener:事件发生时执行的回调函数。
  3. useCapture:布尔值,表示是否使用事件捕获。事件捕获是指在事件冒泡阶段触发时执行的监听器。默认值为 false,表示使用事件冒泡。

三、常见事件类型

  1. “click”:当用户点击元素时触发。
  2. “keydown”:当用户按下键盘上的键时触发。
  3. “mousemove”:当用户在元素上移动鼠标时触发。
  4. “scroll”:当用户在页面滚动时触发。
  5. “focus”:当元素获得焦点时触发。
  6. “blur”:当元素失去焦点时触发。

在这里插入图片描述

四、应用场景

addEventListener 在各种场景下都有广泛应用,以下是其中一些:

  1. 表单验证:当用户在表单中输入内容时,可以使用 addEventListener 监听 “input” 事件,并在事件处理函数中验证输入值。
  2. 页面滚动:使用 addEventListener 监听 “scroll” 事件,可以实现页面滚动时加载更多内容的功能。
  3. 窗口大小调整:使用 addEventListener 监听 “resize” 事件,可以实现窗口大小调整时调整页面布局的功能。
  4. 键盘事件:使用 addEventListener 监听 “keydown” 事件,可以实现键盘快捷键的功能。
  5. 鼠标事件:使用 addEventListener 监听 “mousemove”、“mouseover”、“mouseout” 等事件,可以实现鼠标悬停、鼠标移入移出等功能。

在这里插入图片描述

总之,addEventListener 是一个强大且灵活的方法,可以用于监听各种类型的事件,从而实现丰富的交互功能。

二、 addEventListener的基本概念

解释addEventListener的作用。

addEventListener 是 JavaScript 中的一个方法,它允许开发者向事件目标添加事件监听器。事件监听器是一个回调函数,当事件发生时,该函数将被调用。事件目标是指可以触发事件的 HTML 元素或 JavaScript 对象。

addEventListener 的作用主要可以概括为以下几点:

  1. 添加事件监听器:addEventListener 方法允许开发者向事件目标添加事件监听器,以便在事件发生时执行相应的操作。
  2. 监听事件类型:addEventListener 方法接受两个参数,第一个参数表示要监听的事件类型,如 “click”、“keydown”、“mousemove” 等。
  3. 设置事件处理函数:第二个参数是一个回调函数,当事件发生时,该函数将被调用,执行相应的操作。
  4. 设置事件捕获:addEventListener 方法第三个参数是一个布尔值,表示是否使用事件捕获。事件捕获是指在事件冒泡阶段触发时执行的监听器。默认值为 false,表示使用事件冒泡。

addEventListener 的应用场景非常广泛,如表单验证、页面滚动、窗口大小调整、键盘事件、鼠标事件等。通过使用 addEventListener,开发者可以实现丰富的交互功能,提高用户体验。

三、 addEventListener的语法

详细介绍addEventListener的语法。

addEventListener 是 JavaScript 中的一个方法,用于向事件目标添加事件监听器。事件监听器是一个回调函数,当事件发生时,该函数将被调用。事件目标是指可以触发事件的 HTML 元素或 JavaScript 对象。

addEventListener 的语法如下:

element.addEventListener(eventType, listener, useCapture);

其中,element 表示事件目标,可以是 HTML 元素或 JavaScript 对象;eventType 表示要监听的事件类型,如 “click”、“keydown”、“mousemove” 等;listener 表示事件发生时执行的回调函数;useCapture 表示是否使用事件捕获,默认值为 false,表示使用事件冒泡。

下面是一个具体的例子,演示如何向一个按钮添加一个点击事件监听器:

// 获取按钮元素
var button = document.getElementById("myButton");

// 定义事件处理函数
function handleClick() {
 alert("按钮被点击了!");
}

// 向按钮添加点击事件监听器
button.addEventListener("click", handleClick, false);

在这个例子中,我们首先获取了 id 为 “myButton” 的按钮元素,然后定义了一个名为 handleClick 的函数,用于处理按钮被点击的事件。接着,我们使用 addEventListener 方法向按钮添加了一个点击事件监听器,第三个参数 false 表示我们不想使用事件捕获,而是使用事件冒泡。

当用户点击按钮时,handleClick 函数将被调用,弹出一个警告框提示 “按钮被点击了!”。

提供示例代码,展示如何使用addEventListener监听不同类型的事件。

下面是一些使用 addEventListener 监听不同类型事件的示例代码:

  1. 监听点击事件:
// 获取按钮元素
var button = document.getElementById("myButton");

// 定义事件处理函数
function handleClick() {
 alert("按钮被点击了!");
}

// 向按钮添加点击事件监听器
button.addEventListener("click", handleClick, false);
  1. 监听键盘事件:
// 获取输入框元素
var input = document.getElementById("myInput");

// 定义事件处理函数
function handleKeyDown(event) {
 if (event.key === "Enter") {
   alert("用户按下 Enter 键!");
 }
}

// 向输入框添加键盘事件监听器
input.addEventListener("keydown", handleKeyDown, false);
  1. 监听鼠标事件:
// 获取图像元素
var image = document.getElementById("myImage");

// 定义事件处理函数
function handleMouseMove(event) {
 if (event.buttons === 1) { // 左键
   image.style.left = event.clientX + "px";
   image.style.top = event.clientY + "px";
 }
}

// 向图像添加鼠标事件监听器
image.addEventListener("mousemove", handleMouseMove, false);
  1. 监听窗口大小调整事件:
// 获取窗口对象
var window = window;

// 定义事件处理函数
function handleResize(event) {
 alert("窗口大小已调整!");
}

// 向窗口添加窗口大小调整事件监听器
window.addEventListener("resize", handleResize, false);

这些示例代码展示了如何使用 addEventListener 监听不同类型的事件,并根据事件类型执行相应的处理函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1318235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端实现一个时间区间内,再次单选功能,使用Antd组件库内日历组件Calendar

需求:需要先让用户选择一个时间区间,然后再这个时间区间中,让用户再次去单选其种特殊日期。 思路: 1.先用Antd组件库中日期选择DatePicker.RangePicker实现让用户选择时间区间 2.在选择完时间区间后,用这个时间区间…

Java之Clonable接口和深浅拷贝

Clonable接口 我们船舰了一个人的对象,想要克隆一个一模一样的对象,可以用到object类里面的克隆方法 object不是所有类的父类吗?那为什么用person1点不出这个方法呢?可以看一下源码 这是Object类里面的clone方法的声明&#xff0…

随机游走Python中的实现

随机游走是一个数学对象,称为随机或随机过程,它描述了一条路径,该路径由一些数学空间(如整数)上的一系列随机步骤组成。随机游走的一个基本例子是整数线上的随机游走,它从0开始,每一步以相等的概…

docker小白第五天

docker小白第五天 docker的私有库 有些涉密的信息代码不能放在阿里云的镜像仓库,因此需要构建一个个人内网专属的私有库,将镜像或者容器代码进行推送保存。 下载镜像docker registry 执行代码docker pull registry,用于搭建私服前的准备。…

为什么选择计算机?大数据时代学习计算机的价值探讨

还记得当初自己为什么选择计算机? 计算机是在90年代兴起的专业,那时候的年轻人有驾照、懂外语、懂计算机是很时髦的事情! 当初你问我为什么选择计算机,我笑着回答:“因为我梦想成为神奇的码农!我想像编织魔法一样编写程序,创造出炫酷的虚拟世界!”谁知道,我刚入门的…

力扣刷题-二叉树-平衡二叉树

110 平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 给定二叉树 [1…

diffuser为pipeline设置不用的scheduler

查看默认的schedulers: 使用默认的schedulers生成数据 查看默认scheduler的默认配置,定义了采样器中的相关参数,网上关于DDPM和DDIM的文章较多,可以先去看看这两种schedulers: 修改scheduler,可以用于…

【TB作品】51单片机,具有报时报温功能的电子钟

2.具有报时报温功能的电子钟 一、功能要求: 1.显示室温。 2.具有实时时间显示。 3.具有实时年月日显示和校对功能。 4.具有整点语音播报时间和温度功能。 5.定闹功能,闹钟音乐可选。 6.操作简单、界面友好。 二、设计建议: 1.单片机自选(C51、STM32或其他单片机)。 2.时钟日历芯…

【已解决】每次点击Windows 10 任务栏会闪退

一台装有 Windows 10 系统的电脑,最近通过“Windows 易升”升级到22H2版之后出现一个兼容问题:每次鼠标点击任务栏切换其他程序,任务栏都会闪退,桌面图标消失,然后又恢复显示桌面图标以及任务栏程序。 这样每次切换其他…

社交网络分析3:社交网络隐私攻击、保护的基本概念和方法 + 去匿名化技术 + 推理攻击技术 + k-匿名 + 基于聚类的隐私保护算法

社交网络分析3:社交网络隐私攻击、保护的基本概念和方法 去匿名化技术 推理攻击技术 k-匿名 基于聚类的隐私保护算法 写在最前面社交网络隐私泄露用户数据暴露的途径复杂行为的隐私风险技术发展带来的隐私挑战经济利益与数据售卖防范措施 社交网络 用户数据隐私…

【气候模式降尺度】分位数增量映射(QDM)原理及MATLAB代码实现

分位数增量映射(quantile delta mapping, QDM) 1 QDM偏差订正原理2 MATLAB实现代码3 案例参考气候模式的模拟结果与观测数据往往存在着一定的系统偏差,若将气候模式结果直接应用于作物模型或者水文模型中,其偏差会对模拟产生很大的影响,因此需要对气候模拟结果进行误差订正…

C++初阶-queue的使用与模拟实现

queue的使用与模拟实现 一、queue的介绍和使用二、queue的使用三、queue的模拟实现3.1 成员变量3.2 成员函数3.2.1 push入队列3.2.2 pop出队列3.2.3 返回队头数据3.2.4 返回队尾数据3.2.5 返回队列的大小3.2.6 判断队列是否为空 四、完整代码4.1 queue.h4.2 test.h 五、deque的…

new一个对象

1.自己直接调用 function Person(name, age) {this.name name;this.age age;}let a1 new Person("小明", 20);let a2 new Person("小菜", 25);console.log(a1); 打印的对象: 2.自己模拟一个 function Person(name, age) {this.name name;this.age a…

计算机网络:网络层(无分类编址CIDR、计算题讲解)

带你快速通关期末 文章目录 前言一、无分类编址CIDR简介二、构成超网三、最长前缀匹配总结 前言 我们在前面知道了分类地址,但是分类地址又有很多缺陷: B类地址很快将分配完毕!路由表中的项目急剧增长! 一、无分类编址CIDR简介 无分类域间路由选择CI…

Java多线程编程学习

1 线程的概念 多线程是指同一个程序同时存在多个“执行体”,它们可以同时工作 1.1 进程的概念 一次程序的每一次运行都叫做进程(一个进程可以包含多个线程 1.2 线程的概念 多线程是指一个程序中多段代码同时并发进行 1.3 主线程的概念 JavaMain中的线程就…

C语言——预处理详解(#define用法+注意事项)

#define 语法规定 #define定义标识符 语法: #define name stuff #define例子 #include<stdio.h> #define A 100 #define STR "abc" #define FOR for(;;)int main() {printf("%d\n", A);printf("%s\n", STR);FOR;return 0; } 运行结果…

机器学习算法---聚类

类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统计学检验箱…

SpringIOC之@Primary

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

自然语言处理阅读第二弹

HuggingFace 镜像网站模型库 NLP中的自回归模型和自编码模型 自回归&#xff1a;根据上文内容预测下一个可能的单词&#xff0c;或者根据下文预测上一个可能的单词。只能利用上文或者下文的信息&#xff0c;不能同时利用上文和下文的信息。自编码&#xff1a;对输入的句子随…

phpMyAdmin的常见安装位置

nginx的日志显示有人一直在尝试访问phpMyAdmin的setup.php&#xff0c;用了各种位置。 其实我只有一个nginx&#xff0c;别的什么也没有。 47.99.136.156 - - [01:44:37 0800] "GET http://abc.com:80/phpMyAdmin/scripts/setup.php HTTP/1.0" 404 162 "-"…