js-day6

article/2025/6/6 2:10:41

JS学习之旅-day6

  • 1. 事件监听
    • 1.1 事件监听
    • 1.2 事件监听版本
  • 2. 事件类型
    • 2.1 鼠标事件
    • 2.2 焦点事件
    • 2.3 键盘事件
    • 2.4 文本事件
  • 3. 事件对象
    • 3.1 获取事件对象
    • 3.2 事件对象常用属性
  • 4. 环境对象
  • 5. 回调函数

1. 事件监听

1.1 事件监听

  1. 语法:元素对象.addEventListener('事件类型',要执行的函数)
  2. 三要素:
    1. 事件源:哪个dom元素被事件触发了,要获取dom元素
    2. 事件类型:用什么方式触发,比如鼠标点击click、鼠标经过 mouseover 等
    3. 事件调用的函数:要做什么事
  3. 注意:
    1. 事件类型要加引号
    2. 函数是触发之后执行的,每触发一次都会执行一次

1.2 事件监听版本

  1. DOM L0 :事件源.on事件 = function(){}
    1. 同一个对象,后面注册的事件会覆盖前面注册的(同一个事件)
    2. 直接使用null覆盖就可以实现事件解绑
    3. 都是冒泡阶段执行的(没有捕获)
  2. DOM L2 :事件源.addEventListener(事件, 事件处理函数,是否使用捕获)
    1. 后面注册的事件不会覆盖前面注册的事件(同一个事件)
    2. 可以通过第三个参数去确定是在冒泡阶段还是在捕获阶段执行
    3. 必须使用removeEventListener来解绑事件
    4. 匿名函数无法解绑事件
  3. 区别:on方式会被覆盖,addEventListener方法可以绑定多次,拥有事件更多特性,推荐使用。

2. 事件类型

2.1 鼠标事件

  1. click:鼠标点击
  2. mouseenter:鼠标经过
  3. mouseleave:鼠标离开
  4. mouseover和mouseout会有冒泡效果(不推荐)
  5. mouseenter和mouseleave没有冒泡效果(推荐)

2.2 焦点事件

  1. focus:获得焦点
  2. blur:失去焦点

2.3 键盘事件

  1. keydown:键盘按下触发
  2. keyup:键盘抬起触发

2.4 文本事件

  1. input:用户输入触发

3. 事件对象

3.1 获取事件对象

  1. 语法
    1. 在事件绑定的回调函数的第一个参数就是事件对象,一般命名为 event/ev/e
    2. 示例
      btn.addEventListener("click", (e) => {console.log("e",e);
      });
      

3.2 事件对象常用属性

  1. type :获取当前的事件类型
  2. clientX/clientY:获取光标相对浏览器可见窗口左上角的位置
  3. offsetX/offsetY:获取光标相对于当前DOM元素左上角的位置
  4. key:用户按下的键盘键的值

4. 环境对象

  1. 环境对象:指的是函数内部特殊的变量this,它代表着当前函数运行时所处的环境
  2. 作用:弄清楚this的指向,可以让代码更简洁
    1. 函数的调用方式不同,this 指向的对象也不同
    2. [谁调用,this就指向谁]

5. 回调函数

  1. 把函数当做另一个函数的参数传递,这个函数就叫回调函数
  2. 回调函数本质还是函数,只不过把它当成参数使用
  3. 使用匿名函数作为回调函数比较常见

http://www.hkcw.cn/article/EHpRdfLmKN.shtml

相关文章

aardio 图像识别

今天终于学会了编程中的 OCR 技术!原来计算机真的能识别图片里的文字,这种让程序 "看懂" 图像的能力太神奇了,赶紧把学习过程记录下来。 一、初识OCR:让程序读懂图片文字 (一)简单识别实验 OC…

【北邮 操作系统】第十二章 文件系统实现

一、文件的物理结构 1.1 文件块、磁盘块 类似于内存分页,磁盘中的存储单元也会被分为一个个“块/磁盘块/物理块”。很多操作系统中,磁盘块的大小与内存块、页面的大小相同 内存与磁盘之间的数据交换(即读/写操作、磁盘I/0)都是以“块”为单位进行的。即…

VS2022下C++ Boost库安装与使用使用

一.Boost概述 1.简介 Boost 是一个广泛使用的 C 库集合,提供了许多高质量、可移植、高效的工具和组件,被视为 C 标准库的延伸。自 1998 年成立以来,Boost 已成为 C 社区的核心资源,许多 Boost 库通过实践验证后被纳入 C 标准&am…

Unity-UI组件详解

今天我们来学习Unity的UI的详解,这部分的内容相对较少,对于程序员来说主要的工作是负责将各种格式的图片呈现在显示器上并允许操作这些图片。 本篇帖子的理论依据依然是官方开源的UGUI代码,网址为:GitHub - Unity-Technologies/u…

化工厂爆炸事件看制造业AI转型

一、事件警示:化工制造安全风险不容忽视 近日,某化学有限公司发生事故。涉事工厂主体工程建设有2座硝化装置区,1座加氢装置区,均属于危险工艺生产装置。硝化反应通常属于强放热反应,原料及产物具有爆炸危险性&#xf…

Ubuntu系统安装与配置NTP时间同步服务

Ubuntu系统安装与配置NTP时间同步服务 一、NTP服务介绍NTP服务简介工作原理系统环境准备检查当前时间状态二、方案选择:systemd-timesyncd vs ntpd三、使用systemd-timesyncd时间同步1. 方案介绍2. 配置优化3. 应用配置4. 验证状态5. 检查当前时间状态6. 查看当前实践四、使用…

【小红书】API接口,获取笔记核心数据

小红书笔记核心数据API接口详解 - 深圳小于科技提供专业数据服务 深圳小于科技(官网:https://www.szlessthan.com)推出的小红书笔记核心数据API接口,为开发者提供精准的笔记互动数据分析能力,助力内容运营与商业决策。…

ElasticStack技术之logstash介绍

一、什么是Logstash Logstash 是 Elastic Stack(ELK Stack)中的一个开源数据处理管道工具,主要用于收集、解析、过滤和传输数据。它支持多种输入源,如文件、网络、数据库等,能够灵活地对数据进行处理,比如…

InternLM2/LM2.5/ViT/VL1.5/VL2.0笔记: 核心点解析

00 前言 本文主要是记录一下关于多模态大模型InternLM/InternVL系列的一些要点的理解。还是那句话,好记性,不如烂笔头。本文当成个人笔记用,行文风格和先前写的LLaVA系列一致。本文的重点是讲解多模态模型InternVL 1.5,但是Intern…

帝可得 - 设备管理

一. 需求说明 设备管理主要涉及到三个功能模块,业务流程如下: 新增设备类型: 允许管理员定义新的售货机型号,包括其规格和容量。 新增设备: 在新的设备类型定义后,系统应允许添加新的售货机实例,并将它们分配到特定的…

建设指南 | Cloud Apps + AI Apps端到端智能应用开发平台

在“云AI”作为基础设施的时代,研发、运维、信息化等部门,通常会面临的棘手问题都有哪些: 算力资源难以统一调度和管理;AI算法研发环境搭建复杂;不同模型部署方式繁杂,统一监控难;AI应用开发效…

【灵动Mini-F5265-OB】vscode+gcc工程创建、下载、调试

【前言】 【灵动Mini-F5265-OB】在官方的例程中提供了mdk、IAR的开发环境,使用起来非常方便。有位大佬也提供了一个gcc的示例,但是我使用vscode的keil插件进行工程创建,但是提示pack是对不上的。所以我决定重新创建我的vscode来创建开发环境。…

【AI论文】VF-Eval:评估多模态大型语言模型(MLLM)在生成人工智能生成内容(AIGC)视频反馈方面的能力

摘要:多模态大型语言模型(MLLMs)最近在视频问答领域得到了广泛研究。然而,现有的大多数评估都侧重于自然视频,而忽视了合成视频,例如人工智能生成的内容(AIGC)。与此同时&#xff0c…

Docker 镜像(或 Docker 容器)中查找文件命令

在 Docker 镜像(或 Docker 容器)中运行如下两个命令时: cd / find . -name generate.py它们的含义如下,我们来一行一行详细拆解,并结合例子讲解: ✅ 第一行:cd / ✅ 含义 cd 是“change dire…

DiskGenius专业版v6.0.1.1645:分区管理、数据恢复、备份还原,一应俱全!

各位小伙伴,大家好!今天阿灿给大家带来一款超好用的分区工具,DiskGenius专业版。这款工具堪称电脑管理界的“瑞士军刀”,功能强大,现在出了新版本v6.0.1.1645,简繁中文单文件便携版,使用超方便。…

‌CDGP|数据治理的低效性:企业AI落地的另一大挑战

在数字化转型的浪潮中,人工智能(AI)已成为推动企业创新发展的重要力量。然而,尽管AI技术具有巨大的潜力和优势,但许多企业在尝试落地AI项目时却面临着重重挑战。其中,数据治理的低效性尤为突出,…

linux学习第19、20天(父子进程)

ps ajx -->查看pid,ppid,gid,sid 父子进程 父子进程相同: 刚fork后,data段、text段、堆,栈、环境变量、全局变量、进程工作目录位置、信号处理方式 父子进程不同: 进程id、返回值、各自的…

AI写作革命:重塑创作未来

人工智能写作技术:革新创作方式的智能利器 人工智能写作技术(AI写作技术)是指利用自然语言处理(NLP)、机器学习(ML)等人工智能技术,辅助或自动化完成文本的创作、编辑与优化。这一技…

法律大语言模型(Legal LLM)技术架构

目录 摘要 1 法律AI大模型技术架构 1.1 核心架构分层 1.2 法律知识增强机制 2 关键技术突破与对比 2.1 法律专用组件创新 2.2 性能对比(合同审查场景) 3 开发部署实战指南 3.1 环境搭建流程 3.2 合同审查代码示例 4 行业应用与挑战 4.1 典型场景效能提升 4.2 关…

深入理解 C# Razor Pages:构建现代 Web 应用的利器

在现代 Web 开发中,选择合适的框架至关重要。ASP.NET Core 提供了多种开发模式,其中 Razor Pages 因其简单性、高效性和易用性,成为构建页面导向 Web 应用的首选方案。相比于传统的 MVC(Model-View-Controller)模式&am…