当前位置: 首页 > news >正文

JS:事件对象

文章目录

  • 前言
  • 一、事件对象的概念和语法
  • 二、事件对象常用属性
    • 1.获取键盘输入的值
    • 2.获取点击事件的坐标
    • 3.获取事件的类型
    • 4.初步介绍e.target
  • 总结


前言

事件对象是理解交互式网页的关键。它封装了事件的所有信息,能够帮助我们精准地响应用户操作,实现动态效果,本文将详细介绍事件对象的使用


一、事件对象的概念和语法

事件对象是以事件(用户的操作)作为对象,包含了事件所有属性的对象,是浏览器为每个事件生成的实例,它提供了事件的详细信息,如事件类型、目标元素、触发时间等

事件对象的语法:

const 变量 = document.querySelector('标签')
变量.addEventListener('事件类型', function (e) {
  console.log(e)
})

事件绑定的监听器中,函数的第一个参数就是事件对象,命名为e

 在后台中查看e可以看到,事件对象包含了很多属性,下面将介绍几个常用的属性

二、事件对象常用属性

1.获取键盘输入的值

我们创建一个输入框,获取输入框后注册键盘弹起事件(弹起算输入完一个值),通过e.key能够得到键盘此时输入的值

const ipt = document.querySelector('input')
// 获得键盘输入
ipt.addEventListener('click', function (e) {
  console.log(e.key)
})

 效果如下

2.获取点击事件的坐标

创建一个可以点击的对象,以按钮为例,为按钮注册点击事件,可以通过e.clientXe.clientY获取鼠标点击的坐标(X和Y都是大写,这个坐标是相对于页面顶部的坐标)

    const btn = document.querySelector('button')
    btn.addEventListener('click', function (e) {
      console.log(e.clientX)
      console.log(e.clientY)
    })

 3.获取事件的类型

还可以通过e.type获取事件的类型

    const btn = document.querySelector('button')
    btn.addEventListener('click', function (e) {
      console.log(e.clientX)
      console.log(e.clientY)
      console.log(e.type)
    })

4.初步介绍e.target

e.target能够获取当前触发事件的对象,是实现事件委托的关键。

事件委托将在后续介绍,注册了ul的点击事件,点击ul下的小li,可以从事件对象的target属性获取ul下的小li对象,获得到的小li对象就是点击的那个小li对象。因此,如果想要让某个小li做出变化,除了获取所有小li遍历伪数组,还可以通过事件对象的target属性得到小li对象后实现

    const ul = document.querySelector('ul')
    ul.addEventListener('click', (e) => {
      console.log(e.target)
    })


总结

相关文章:

  • 2024华为OD机试真题-单词接龙(C++)-E卷B卷-100分
  • web的分离不分离:前后端分离与不分离全面分析
  • 深入理解 NoSQL 数据库:MongoDB 与 Cassandra
  • 04.Docker 镜像命令
  • 【JavaEE进阶】MyBatis入门
  • 房产销售|基于Springboot+vue的房产销售系统平台(源码+数据库+文档)
  • 向量数据库1:向量数据库的选型
  • table表格实现多行合并效果实现
  • Java 集合数据处理技巧:使用 Stream API 实现多种操作
  • 八大经典排序算法
  • LeetCode:2595.奇偶位数
  • 云原生DevOps:Zadig架构设计与企业实践分析
  • 七星棋牌源码高阶技术指南:6端互通、200+子游戏玩法深度剖析与企业级搭建实战(完全开源)
  • 适用于复杂背景的YOLOv8改进:基于DCN的特征提取能力提升研究
  • Windows网络安全基础
  • 向 OpenAI ChatGPT 提问如何学习黑客
  • 硬盘识别不出来了怎么办?硬盘读不出来的解决方法
  • 基于Flask的租房信息可视化系统的设计与实现
  • 【项目实践06】【Retrofit2 框架的使用】
  • Linux-C/C++《C++/1、C++基础》(C++语言特性、面向对象等)
  • 天津做网站的公司怎么样/深圳网络公司推广平台
  • 天津网站建设基本流程/关键词查找工具
  • 网站页脚设计的几个小技巧/万网域名查询官网
  • 城阳网站开发/西安seo网络优化公司
  • 网站销售系统怎么做/如何seo推广
  • 用word做旅游网站/百度医生