JavaScript之事件(十)

news2024/12/23 22:21:12

JavaScript之事件

      • 1、事件绑定
      • 2、事件类型
      • 3、事件的传播
      • 4、事件对象
        • 1、事件对象常用的属性
        • 2、事件对象常用的方法

事件可用于处理、验证用户输入、用户动作和浏览器动作。

1、事件绑定

事件绑定就是给HTML标签绑定特定的事件,当该事件触发,则会执行相应的操作,主要有两种绑定方式:

直接绑定DOM元素:

DOM元素对象.on事件名 = 函数名;
DOM元素对象.on事件名 = function() { //JS代码段; }
<HTML标签 on事件名 = "函数名或js代码">

绑定事件监听函数:

DOM元素对象.addEventListener(eventName,handle,useCapture);
/*
eventName: 事件名称 (事件名称中是没有"on"的);
handle:    事件句柄函数 (句柄:事件调用函数的指针/地址);
useCapture:是否捕获 (一般为false);
注:这种方式可以绑定多个事件,直接绑定方式如果绑定多个事件,后面的会覆盖前面的。
*/

2、事件类型

该图来源不记得了,如若侵权请联系我。。。

请添加图片描述


3、事件的传播

名称描述
capturing phase捕获阶段,由外向内传播的,也就是当前事件触发时,先触发当前元素的最外层的祖先元素的同类型事件,然后再向内传播给后代元素。
Bubbling phase冒泡阶段,由内向外传播,也就是当事件触发时,先触发当前元素上的事件,然后再向当前元素的祖先元素上传播,触发祖先元素的同类型事件。

4、事件对象

Event 对象代表事件的状态,当DOM树中某个事件被触发的时候,会同时自动产生一个用来描述事件所有的相关信息(比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。)的对象,这个对象就是event(事件对象)。

1、事件对象常用的属性

名称描述
target返回当前触发事件的元素
currentTarget返回监听事件的元素
clientX返回鼠标指针相对于浏览器的水平坐标
clientY返回鼠标指针相对于浏览器的垂直坐标
pageX返回鼠标指针相对于整个网页的水平坐标
pageY返回鼠标指针相对于整个网页的垂直坐标
offsetX返回鼠标指针相对于事件源元素的水平坐标
offsetY返回鼠标指针相对于事件源元素的垂直坐标
charCode通常用于 keypress 事件,返回用户按下按键对应的码值,区分大小写 示例:按下键盘 a,对应的值是 97, 按下键盘 A,对应的值是 65
keyCode通常用于 onkeydown 和 onkeyup 事件,返回用户按下按键的码值,不区分大小写。 示例:按下键盘 a 或 A, 对应的值是 65
deltaY返回 mousewheel 事件触发时,滚轮滚动的方向,向下滚动时返回正值,向上滚动时,返回负值(不常用,了解即可)

2、事件对象常用的方法

名称描述
preventDefault()阻止浏览器默认行为
stopPropagation()阻止事件传播

上一篇文章下一篇文章
JavaScript之DOM(九)JavaScript之Ajax(十一)

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

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

相关文章

一款射频芯片的layout设计指导案例-篇章2

《一款射频芯片的layout设计指导案例-篇章1》中&#xff0c;我们阐述了RTL8762元件布局顺序、DC/DC电路元件布局走线、电源Bypass布局规范、外部flash布局走线、RF布局走线&#xff0c; 本篇阐述晶振、ESD、板层等相关指导建议—— 40MHz晶振布局走线规范 在没有结构限制情况下…

chatgpt赋能python:Python如何在同一行输入三个数?

Python如何在同一行输入三个数&#xff1f; Python语言是一门广泛使用的编程语言&#xff0c;被广泛应用于数据分析、机器学习、Web开发、科学计算、人工智能等领域。但是&#xff0c;有时候我们需要在同一行输入多个变量或数字&#xff0c;这可能给一些初学者带来一些困惑。本…

暑期实习开始啦「GitHub 热点速览」

作者&#xff1a;HelloGitHub-小鱼干 无巧不成书&#xff0c;刚好最近有小伙伴在找实习&#xff0c;而 GitHub 热榜又有收录实习信息的项目在榜。所以&#xff0c;无意外本周特推就收录了这个实习项目&#xff0c;当然还有国内版本。除了应景的实习 repo 之外&#xff0c;还有帮…

快手 | 后端Java实习生 | 一面

目录 1.Redis缓存和MySQL数据一致性如何保证&#xff1f;2.你使用缓存&#xff0c;在高并发的情况下&#xff0c;如果多个缓存同时过期了怎么办&#xff1f;3.消息队列积压了怎么办&#xff1f;4.jdk1.8之后Java内存模型分别哪几个部分&#xff1f;每个部分用一句话概括一下&am…

GaussDB云数据库SQL应用系列-定时任务管理

前言 GaussDB数据库定时任务主要可以用于实现定期的备份、统计信息采集、数据汇总、数据清理与优化等&#xff0c;它是指在指定的时间间隔内自动执行一次或多次SQL语句的程序。 一、GaussDB数据库定时任务介绍 GaussDB数据库兼容Oracle定时任务功能主要通过DBE_TASK高级功能…

POSTGRESQL PSQL 命令中如何使用变量带入查询和函数

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

chatgpt赋能python:Python如何删除已经写好的代码?

Python如何删除已经写好的代码&#xff1f; 在编程中&#xff0c;大多数时候写出来的代码都是需要保留的。但是&#xff0c;随着项目的发展和需求的变化&#xff0c;有些代码可能就没有用了。这时&#xff0c;我们需要删除这些无用的代码&#xff0c;以保持程序的简洁性和效率…

Nginx、location匹配、Rewrite重写模块

Nginx、location匹配、Rewrite重写模块 一、常用的Nginx正则表达式二、location匹配概述1、location大致可以分为三类2、location常用的匹配规则3、location 优先级4、location 示例说明5、实际网站使用中&#xff0c;至少有三个匹配规则定义 三、rewrite重写1、rewrite 跳转场…

记录--JavaScript 中有趣的 9 个常用编码套路

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 1️⃣ set对象&#xff1a;数组快速去重 常规情况下&#xff0c;我们想要筛选唯一值&#xff0c;一般会想到遍历数组然后逐个对比&#xff0c;或者使用成熟的库比如lodash之类的。 不过&#xff0c;ES…

Spark RDD分区

文章目录 一、RRD分区&#xff08;一&#xff09;RDD分区概念&#xff08;二&#xff09;RDD分区作用 二、RDD分区数量&#xff08;一&#xff09;RDD分区原则&#xff08;二&#xff09;影响分区的因素&#xff08;三&#xff09;使用parallelize()方法创建RDD时的分区数量1、…

软件测试之环境搭建—苏汽web系统测试环境搭建

一、搭建环境的准备工作 1、安装好RedHat&#xff0c;输入用户名&#xff1a;root&#xff0c;密码&#xff1a;123456&#xff0c;右键点击桌面&#xff0c;打开终端输入“ifconfig”查询IP地址 2.打开xshell&#xff0c;点击文件&#xff0c;选择新建连接&#xff0c;在输入…

【数据分析之道-Matplotlib(七)】Matplotlib直方图

文章目录 专栏导读1、hist()基本语法2、使用 hist() 函数绘制多个数据组的直方图3、修改直方图的颜色及边框颜色4、六一儿童节为主题&#xff0c;使用直方图进行可视化 专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c;CSDN Python领域新星创作者&#xff0c;专注于分享pyth…

POI报表的高级应用

POI报表的高级应用 掌握基于模板打印的POI报表导出理解自定义工具类的执行流程 熟练使用SXSSFWorkbook完成百万数据报表打印理解基于事件驱动的POI报表导入 模板打印 概述 自定义生成Excel报表文件还是有很多不尽如意的地方&#xff0c;特别是针对复杂报表头&#xff0c;单元格…

我们世界中的10个算法

下面的图表展示了我们日常生活中最常用的算法。它们被应用在互联网搜索引擎、社交网络、WiFi、手机甚至卫星等各个领域。 1.排序算法 排序算法用于将一组数据按照特定的顺序进行排列。它们被广泛应用于各种场景&#xff0c;如搜索引擎中的搜索结果排序、数据分析中的数据整理和…

转转前端周刊第六十八期

转转前端周刊 本刊意在将整理业界精华文章给大家&#xff0c;期望大家一起打开视野 如果你有发现一些精华文章想和更多人分享&#xff0c;可以点击我们的公众号名称&#xff0c;将文章链接和你的解读文案发给我们&#xff01;我们会对内容进行筛选和审核&#xff0c;保留你的推…

基于TensorFlow Object Detection API实现RetinaNet目标检测网络(附源码)

文章目录 一、RetinaNet简介1. Backbone网络2. FPN网络 二、RetinaNet实现1. tf.train.CheckPoint简介2. RetinaNet的TensorFlow源码 一、RetinaNet简介 RetinaNet是作者Tsung-Yi Lin和Kaiming He于2018年发表的论文Focal Loss for Dense Object Detection中提出的网络。Retina…

运维小白必学篇之基础篇第十六集:DNS架构FTP实验

DNS架构FTP实验 目录 DNS架构FTP实验 服务端 客户端 服务端 在ftp架构了安装dns域名服务 yum -y install bind 配置主配置文件 vim /etc/named.conf listen-on port 53 { 192.168.50.1; }; allow-query { 192.168.50.0/24; }; 配置区域文件 vim /etc/named.rfc1912.zones…

深聊丨“紫东太初”大模型背后有哪些值得细读的论文(一)

原创&#xff1a;谭婧 没有人想等待&#xff0c;没有人想落伍。 新鲜论文时兴火热&#xff0c;成为大模型发展迅猛的标志之一&#xff0c;人们用“刷论文”这个游荡意味的动词替代另一个颇为严肃的动作&#xff0c;“读论文”。 论文被当作“教材”和“新知识”&#xff0c;在a…

矢量网络分析仪RS罗德与施瓦ZNB8 9KHZ至8.5GHZ德国二手

Rohde & Schwarz ZNB8网络分析仪&#xff0c;8.5 GHz&#xff0c;2 或 4 端口 ​罗德与施瓦茨 ZNB8 Rohde & Schwarz ZNB8 矢量网络分析仪具有高达 140 dB&#xff08;10 Hz IF 带宽&#xff09;的宽动态范围、低于 0.004 dB RMS&#xff08;10 kHz IF 带宽&#xff…

React--Component组件浅析

目录 一 前言二 什么是React组件&#xff1f;三 二种不同 React 组件1 class类组件2 函数组件 四 组件通信方式五 组件的强化方式六 总结 一 前言 在 React 世界里&#xff0c;一切皆组件&#xff0c;我们写的 React 项目全部起源于组件。组件可以分为两类&#xff0c;一类是类…