前端JavaScript篇之addEventListener()方法的参数和使用

目录

  • addEventListener()方法的参数和使用
    • 参数和使用
      • type
      • listener
      • options
      • useCapture
      • wantsUntrusted


addEventListener()方法的参数和使用

addEventListener() 是 JavaScript 中用于向指定元素添加事件监听器的方法。这个方法通常用于处理用户交互,比如点击、鼠标悬停等操作。

参数和使用

type

表示要监听的事件类型,比如 “click”(点击)、“mouseover”(鼠标悬停)等。

element.addEventListener('click', () => {// 在这里放置点击事件的处理代码
})
  • 注意事项:确保 type 参数与所需的事件类型匹配,例如 “click”、“mouseover” 等。

listener

表示在事件触发时要调用的函数或处理程序。

const element = document.getElementById('myButton') // 假设你有一个 ID 为 "myButton" 的按钮const handleClick = () => {console.log('按钮被点击了!')
}element.addEventListener('click', handleClick)

请添加图片描述

  • 注意事项listener 参数可以是一个具名函数,也可以是匿名函数,用来定义事件触发时执行的代码。

options

一个可选的对象,包含有关事件监听的配置信息,比如 { once: true } 表示只监听一次事件。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Scroll Event Example</title><style>#myElement {height: 200px;overflow: auto;border: 1px solid #000;}</style></head><body><div id="myElement"><p>这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。这是一个滚动区域。向下滚动以触发滚动事件。</p></div><script>const element = document.getElementById('myElement')function handleScroll() {console.log('滚动事件发生了!')}const options = {once: true,passive: true}element.addEventListener('scroll', handleScroll, options)</script></body>
</html>

请添加图片描述
在这个示例中,我们创建了一个包含 ID 为 “myElement” 的 <div> 元素,它具有固定高度,并且设置了 overflow: auto; 以启用滚动。然后,我们在脚本部分的 JavaScript 中使用 addEventListener 方法将名为 “handleScroll” 的函数绑定到了该元素的 “scroll” 事件上,并传入了选项对象 “options”。

当你在浏览器中打开这个示例时,你会看到一个带有滚动条的区域。当你滚动该区域时,控制台会输出 “滚动事件发生了!”,这表明滚动事件已成功触发,并且选项也已应用。

  • 注意事项options 参数是可选的,可以包含配置信息,比如 { once: true } 只监听一次事件。

useCapture

一个布尔值,表示是否使用捕获阶段进行事件处理。

element.addEventListener('click', handleClick, true)
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Click Event Example</title><style>#myButton {padding: 10px 20px;background-color: #007bff;color: #fff;cursor: pointer;}</style></head><body><button id="myButton">点击我</button><script>const element = document.getElementById('myButton')function handleClick() {console.log('点击事件发生了!')}element.addEventListener('click', handleClick, true)</script></body>
</html>

请添加图片描述

在这个示例中,我们创建了一个按钮,该按钮具有 ID 为 “myButton”。然后,在脚本部分的 JavaScript 中,我们使用 addEventListener 方法将名为 “handleClick” 的函数绑定到了该按钮的 “click” 事件上,并传入了选项 { capture: true }。这意味着事件处理程序在捕获阶段被触发。

当你在浏览器中打开这个示例时,你会看到一个按钮。当你点击该按钮时,控制台会输出 “点击事件发生了!”,这表明点击事件已成功触发,并且选项也已应用。

  • 注意事项:默认情况下为 false(即使用冒泡阶段),如果设置为 true,则在捕获阶段处理事件。

wantsUntrusted

一个布尔值,表示是否接受未经信任的事件。如果为 true , 则事件处理程序会接收网页自定义的事件。此参数只适用于 Gecko(chrome的默认值为true,其他常规网页的默认值为false),主要用于附加组件的代码和浏览器本身。对于大多数网页开发而言,这个选项并不适用,因为大多数情况下我们处理的事件都是经过信任的。

element.addEventListener('click', handleClick, { wantsUntrusted: true })
  • 注意事项:通常不需要手动设置此选项,除非你确定需要处理未经信任的事件。

持续学习总结记录中,回顾一下上面的内容:
addEventListener() 方法允许我们向特定元素添加不同类型的事件监听器,以便在用户进行交互时执行相应的操作。参数 type 表示要监听的事件类型,listener 表示事件触发时要调用的函数,options 是一个可选的配置对象,useCapture 表示是否使用捕获阶段进行事件处理,wantsUntrusted 表示是否接受未经信任的事件。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity类银河恶魔城学习记录4-1,4-2 Attack Logic,Collider‘s collision excepetion源代码 P54 p55

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Entity.cs using System.Collections; using System.Collections.Generic; u…

统计数字出现次数的数位动态规划解法-数位统计DP

在处理数字问题时,我们经常遇到需要统计一定范围内各个数字出现次数的情况。这类问题虽然看起来简单,但当数字范围较大时,直接遍历统计的方法就变得不再高效。本文将介绍一种利用数位动态规划(DP)的方法来解决这一问题,具体来说,是统计两个整数a和b之间(包含a和b)所有…

JavaScript中call、apply、bind方法的应用与区别

在JavaScript中&#xff0c;call、apply和bind是函数的三个重要方法&#xff0c;它们虽然功能不同&#xff0c;但都可以用来改变函数的执行上下文或者传递参数。本文将分别介绍call、apply和bind方法的应用和区别&#xff0c;并附带示例代码。 一、call方法 call方法的作用是…

Java注解之@PathVariable,一文掌握@PathVariable注解知识(1)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

【漏洞复现】多语言药房管理系统MPMS文件上传漏洞

Nx01 产品简介 多语言药房管理系统 (MPMS) 是用 PHP 和 MySQL 开发的, 该软件的主要目的是在药房和客户之间提供一套接口&#xff0c;客户是该软件的主要用户。该软件有助于为药房业务创建一个综合数据库&#xff0c;并根据到期、产品等各种参数提供各种报告。 Nx02 漏洞描述 …

【动态规划】【前缀和】【C++算法】LCP 57. 打地鼠

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LCP 57. 打地鼠 勇者面前有一个大小为3*3 的打地鼠游戏机&#xff0c;地鼠将随机出现在各个位置&#xff0c;moles[i] [t,x,y] 表…

JDK版本如何在IDEA中切换

JDK版本在IDEA中切换 一、项目结构设置 1.Platform——Settings 项目结构---SDKS 2.Project——SDK 3.Modules——SDK——Sources 4.Modules——SDK——Dependencies 二、设置--编译--字节码版本 Settings——Build,——Java Compiler

scikit-learn 1.3.X 版本 bug - F1 分数计算错误

如果您正在使用 scikit-learn 1.3.X 版本&#xff0c;在使用 f1_score() 或 classification_report() 函数时&#xff0c;如果参数设置为 zero_division1.0 或 zero_divisionnp.nan&#xff0c;那么函数的输出结果可能会出错。错误的范围可能高达 100%&#xff0c;具体取决于数…

通过docker-compose部署NGINX服务,并使该服务开机自启

要在通过docker-compose部署的NGINX服务实现开机自启&#xff0c;你需要确保Docker守护进程在系统启动时自动运行&#xff0c;并配置docker-compose.yml文件以在容器中运行NGINX服务。以下是步骤&#xff1a; 确保Docker守护进程开机启动&#xff1a; 在Ubuntu/Debian上&#x…

龙测科技荣获2023年度技术生态构建奖

本月&#xff0c;由极客传媒举办的“有被Q到”2024 InfoQ 极客传媒合作伙伴年会顺利举办&#xff0c;龙测科技喜获2023年度技术生态构建奖。 InfoQ是首批将Node.js、HTML5、Docker等技术全面引入中国的技术媒体之一&#xff0c;秉承“扎根社区、服务社区、引领社区”的理念&…

Oracle篇—logminer日志挖掘恢复误操作数据

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux&#xff0c;也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&#xff0c;并且也会默默的点赞收藏加关注❣…

第三篇:跨平台QT开发-正则表达式和文件处理

正则表达式 正则表达式即一个文本匹配字符串的一种模式&#xff0c;Qt 中 QRegExp 类实现使用正则表达式 进行模式匹配&#xff0c;且完全支持 Unicode&#xff0c;主要应用&#xff1a;字符串验证、搜索、查找替换、分割。 正则表达式中字符及字符集 元素含义 c 匹配字符本…

beep蜂鸣器驱动实验-蜂鸣器驱动代码框架测试

一. 简介 上一篇文章学习了编译蜂鸣器驱动框架代码&#xff0c;并进行了编译。文章地址如下&#xff1a; beep蜂鸣器驱动实验-蜂鸣器驱动框架代码实现-CSDN博客 本文对上一篇所实现的蜂鸣器框架代码进行测试。 二. 蜂鸣器驱动代码框架测试 1. 拷贝驱动程序 注意&#xf…

Android开发--实时监测系统+部署故障诊断算法

0.项目整体思路介绍&#xff1a; 搭建无人装备模拟实验平台&#xff0c;使用采集器对数据进行采集&#xff0c;通过网络通信Udp协议发送到安卓端&#xff0c;安卓端作界面显示&#xff0c;算法使用matlab仿真后&#xff0c;用C语言实现。将采集器采集到的数据经过处理后训练&a…

css1文本属性

一.颜色&#xff08;color&#xff09;&#xff08;一般用16进制&#xff09; 二.对齐&#xff08;text-align) 三.装饰&#xff08;text-decoration&#xff09; 四.缩进&#xff08;text-indent&#xff09;&#xff08;一般用2em&#xff09;&#xff08;有单位&#xff09;…

网络协议梳理

1 引言 在计算机网络中要做到有条不紊地交换数据&#xff0c;就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的&#xff08;即同频或同频同相&#xff09;而是广义的&#xff0c;即在一定的条件下应当发生什…

C#验证字符串是否包含汉字:用正则表达式 vs 用ASCII码 vs 用汉字的 Unicode 编码

目录 一、使用的方法 1.使用正则表达式验证字符串 2.使用正则表达式验证字符 3.用ASCII码判断 4.用汉字的 Unicode 编码范围判断 二、实例 1.源码 2.生成效果 验证一个字符串是否是纯汉字或者包含有汉字的前提&#xff0c;是VS编辑器的默认编码格式设置为&#xff1a;选…

Chrome 沙箱逃逸 -- Plaid CTF 2020 mojo

文章目录 前置知识参考文章环境搭建题目环境调试环境 题目分析附件分析漏洞分析OOBUAF 漏洞利用总结 前置知识 Mojo & Services 简介 chromium mojo 快速入门 Mojo docs Intro to Mojo & Services 译文&#xff1a;利用Mojo IPC的UAF漏洞实现Chrome浏览器沙箱逃逸原文…

JAVA SpringBoot中使用redis的事务

目录 一、Java语言介绍 二、SpringBoot框架介绍 三、Redis缓存介绍 四、什么是redis的事务 一、Java语言介绍 Java是一种广泛使用的高级编程语言,由Sun Microsystems公司于1995年推出。它的设计目标是要求“一次编写,到处运行”&#xff08;Write Once, Run Anywhere, WOR…

逆向工程:揭开科技神秘面纱的艺术

在当今这个科技飞速发展的时代&#xff0c;我们每天都在与各种电子产品、软件应用打交道。然而&#xff0c;你是否想过&#xff0c;这些看似复杂的高科技产品是如何被创造出来的&#xff1f;今天&#xff0c;我们就来探讨一下逆向工程这一神秘而又令人着迷的领域。 一、什么是…