js_常用事件演示

✨前言✨

1.如果代码对您有帮助  欢迎点赞👍+收藏⭐哟   后面如有问题可以私信评论哟🗒️
2.博主后面将持续更新哟😘

🎉文章目录

  • 🍔一、在JavaScript中什么是事件?
  • 🍟二、为什么要使用事件
  • 🌭三、常见事件的使用方法
  • 🌮四、总结

🍔一、在JavaScript中什么是事件?

JavaScript 使我们有能力创建动态页面。事件是可以被 JavaScript 侦测到的行为。 网页中的每个元素都可以产生某些可以触发JavaScript函数的事件。比方说,我们可以在用户点击某按钮时产生一个 onClick 事件来触发某个函数。事件在 HTML 页面中定义。

基本原理

当我们在某个元素上添加一个事件时,根据事件执行的前后可以把它当成一个事件流,例如在DOM事件中规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。首先发生的是事件捕获,然后是实际的目标接收到事件,最后是冒泡阶段,可以在这个阶段对事件做出响应。

🍟二、为什么要使用事件

在JavaScript中,事件用于响应用户的交互操作或其他类型的操作。通过事件,可以将某个特定的函数或代码与特定的事件相关联。以下是一些常见的原因,为什么需要使用事件:

1、交互响应:事件可以帮助我们在用户与页面交互时做出相应的动作。
2、用户交互:事件可以捕获用户的交互行为,例如点击、拖动、滚动等操作。
3、表单验证:可以使用事件来对用户输入进行验证。
4、动态页面:事件可以用于动态地改变页面的内容和外观。
5、异步操作:事件可以与异步操作(例如AJAX请求)结合使用,以便在操作完成时执行相应的处理函数。

🌭三、常见事件的使用方法

属性作用
onclick单击事件
ondblclick双击事件
onmousedown鼠标按钮被按下
onmouseup鼠标按键被松开
onmousemove鼠标被移动
onmouseover鼠标移到某元素之上
onmouseout鼠标从某元素移开
onselect文本被选中
onscroll滚动条事件 监听滚动条滑动的高度

代码演示如下:

单击事件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script>function showMessage(){console.log("这是点击事件");}</script>
</head>
<body>
<input type="button" value="点击按钮" onclick="showMessage()" />
</body>
</html>

运行结果:

在这里插入图片描述

双击事件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script>function showMessage(){console.log("这是双击事件");}</script>
</head>
<body>
<input type="button" value="双击按钮" ondblclick="showMessage()" />
</body>
</html>

运行结果:

在这里插入图片描述

鼠标被移动

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script>window.onmousemove = function (){console.log("这是鼠标被移动");}</script>
</head>
<body></body>
</html>

运行结果:

在这里插入图片描述

鼠标从某元素移开

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script>window.onmouseout = function (){console.log("这是鼠标从某元素移开");}</script>
</head>
<body></body>
</html>

运行结果:

在这里插入图片描述

失去焦点和获得焦点

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script>/*  窗口失去焦点时 */window.onblur = function (){console.log('窗口失去了焦点!')}/*  当窗口获得焦点时 */window.onfocus = function (){console.log('窗口获得了焦点!')}</script>
</head>
<body></body>
</html>

运行结果:

在这里插入图片描述

内容改变事件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script>function fun1() {console.log('内容发生改变')}</script>
</head>
<body>
<input type="text" onchange="fun1()" oninput="fun1()">
</body>
</html>

运行结果:

在这里插入图片描述
onsubmit:为表单绑定提交事件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script>/* 为表单绑定提交事件*/function fun1(){let userCode = document.getElementById('userCode').valuelet userPwd = document.getElementById('userPwd').valuevar reg = /^[A-Za-z0_9]{6,12}$/;console.log('触发了表单的提交事件!')if (userCode === ''){alert('账号不能为空')}else if (userCode.length < 6 || userCode.length > 12){alert('账号长度错误')}else if (!reg.test(userCode)){alert('账号只能为字母与数字')}else if (userPwd === ''){alert('密码不能为空')}else if (userPwd.length < 6 || userPwd.length > 12){alert('密码长度错误')}else if (!reg.test(userPwd)){alert('密码只能为字母与数字')}else {return true}return false}</script>
</head>
<body>
<form onsubmit="fun1()">
<input id="userCode" type="text"><br>
<input id="userPwd" type="password"><br>
<input type="submit" onsubmit="fun1()">
</form>
</body>
</html>

🌮四、总结

属性解释
click点击事件,当鼠标点击元素时触发。
mouseover鼠标悬停事件,当鼠标指针进入元素时触发。
mouseout鼠标离开事件,当鼠标指针离开元素时触发。
keydown键盘按下事件,当按下键盘上的任意键时触发。
keyup键盘松开事件,当释放键盘上的键时触发。
submit表单提交事件,当用户提交表单时触发。
load加载事件,当页面或某个元素完成加载时触发。
scroll滚动事件,当页面滚动时触发。
resize调整窗口大小事件,当调整浏览器窗口大小时触发。
focus获取焦点事件,当元素获取焦点时触发。
blur失去焦点事件,当元素失去焦点时触发。
change值改变事件,当表单元素的值发生改变时触发。
dblclick双击事件,当鼠标双击元素时触发。

这些事件可以通过addEventListener方法或者直接在HTML元素中使用on开头的属性来绑定相应的处理函数。

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

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

相关文章

elasticsearch系列七:聚合查询

概述 今天咱们来看下es中的聚合查询&#xff0c;在es中聚合查询分为三大类bucket、metrics、pipeline&#xff0c;每一大类下又有十几种小类&#xff0c;咱们各举例集中&#xff0c;有兴许的同学可以参考官网&#xff1a;https://www.elastic.co/guide/en/elasticsearch/refere…

产品管理-学习笔记-版本的划分

版本号说明【X.Y.Z_修饰词】 版本号定义原则X表示大版本号&#xff0c;一般当产品出现重大更新、调整、不再向后兼容的情况时我们会在X上加1Y表示功能更新&#xff0c;在产品原有的基础上增加、修改部分功能&#xff0c;且并不影响产品的整体流程或业务Z表示小修改&#xff0c…

Apache OFBiz groovy 远程代码执行漏洞(CVE-2023-51467)

项目介绍 Apache OFBiz是一个非常著名的电子商务平台&#xff0c;是一个非常著名的开源项目&#xff0c;提供了创建基于最新J2EE/XML规范和技术标准&#xff0c;构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。 OFBiz最主要的特…

(04730)半导体器件之基本放大器工作原理(三)

本文主要阐述多级与差动放大器 为使输入的微弱信号进行放大后能获得足够的输出功率去推动负载运行&#xff0c;往往要采用所谓的多级放大电路&#xff0c;信号逐级通过放大&#xff0c;直至得到输出信号。这就必须考虑放大电路级与级之间的信号传递方法&#xff0c;或者称为耦…

数据库进阶教学——主从复制(Ubuntu22.04主+Win10从)

目录 一、概述 二、原理 三、搭建 1、备份数据 2、主库配置Ubuntu22.04 2.1、设置阿里云服务器安全组 2.2、修改配置文件 /etc/my.cnf 2.3、重启MySQL服务 2.4、登录mysql&#xff0c;创建远程连接的账号&#xff0c;并授予主从复制权限 2.5、通过指令&#xff0c;查…

Vue - Class和Style绑定详解

1. 模板部分 <template><div><!-- Class 绑定示例 --><div :class"{ active: isActive, text-danger: hasError }">Hello, Vue!</div><!-- Class 绑定数组示例 --><div :class"[activeClass, errorClass]">Cla…

MySQL查找配置文件的3种方法(Windows)

方法一&#xff1a; 查找根目录 SELECT basedir; 方法二&#xff1a; 查找数据目录 SELECT datadir; 方法三&#xff1a; 文件属性查询“defaults-file”

51单片机(STC8)-- GPIO输入输出

文章目录 I/O口相关寄存器端口数据寄存器端口模式配置寄存器&#xff08;PxM0&#xff0c;PxM1&#xff09;端口上拉电阻控制寄存器(PxPU)关于I/O的注意事项 配置I/O口I/O设置demoI/O端口模式LED控制&#xff08;I/O输出&#xff09;按键检测&#xff08;I/O输入&#xff09; S…

Qt(二):使用udp发送与接收图片

使用Qt来通过UDP协议发送和接收图片可以分为几个步骤。以下是一个基本的指南&#xff1a; 发送图片准备图片数据&#xff1a;首先&#xff0c;你需要将图片转换为可以在网络上传输的数据格式。通常&#xff0c;这涉及到将图片转换为字节数组。设置UDP套接字&#xff1a;在Qt中…

拓扑排序图解-Kahn算法和深度优先搜索

拓扑排序 是将一个有向无环图中的每个节点按照依赖关系进行排序。比如图 G G G存在边 < u , v > <u,v> <u,v> 代表 v v v的依赖 u u u, 那么在拓扑排序中&#xff0c;节点 u u u一定在 v v v的前面。 从另一个角度看&#xff0c;拓扑排序是一种图遍历&#…

【计算机毕业设计】SSM医疗药品采购系统

项目介绍 ssm医疗药品采购系统。主要功能有&#xff1a; 用户管理&#xff1a;管理员列表&#xff1b; 采购管理&#xff1a;采购列表&#xff1b; 药品出库&#xff1a;药品出库&#xff1b; 库存管理&#xff1a;库存统计&#xff1b; 数据维护&#xff1a;药品列表、仓库…

Java多线程常见的成员方法(线程优先级,守护线程,礼让/插入线程)

目录 1.多线程常见的成员方法2.优先级相关的方法3.守护线程&#xff08;备胎线程&#xff09;4.其他线程 1.多线程常见的成员方法 ①如果没有给线程设置名字&#xff0c;线程是有默认名字 的&#xff1a;Thread-X(X序号&#xff0c;从0开始) ②如果要给线程设置名字&#xff0c…