JavaScript之常用的事件

news2024/11/26 18:49:19

文章目录

  • 前言
  • 为什么使用事件呢?
  • 常用的触发事件
    • 窗口事件
      • onblur
      • onfocus
      • onresize
      • 窗口加载事件
    • 表单事件
      • onchange
      • oninput
    • 键盘事件
      • onkeydown
      • onkeyup
    • 鼠标事件
      • onclick
      • ondblclick
      • onmousemove
      • onmouseout
      • onscroll
  • 总结
    • 窗口事件总结
    • 表单事件总结
    • 键盘事件总结
    • 鼠标事件总结


前言

在网页中我们可以看到很多效果,本章我们学习一部分常用的事件

为什么使用事件呢?

JavaScript使用事件是为了响应用户的操作和互动。通过事件,可以在特定的情况下触发相应的代码。例如,当用户点击一个按钮时,可以触发一个点击事件,然后执行与该事件相关的代码,比如弹出一个对话框、改变页面的样式等。

事件可以帮助开发者实现与用户交互的功能,使网页更加动态和用户友好。通过使用事件,开发者可以监听并响应用户的操作,比如点击、鼠标移动、键盘输入等,从而改变页面的行为和显示。

除了与用户交互相关的事件,还有许多其他的事件可用于处理其他情况下的操作。例如,可以使用定时器事件定期执行一些代码,或者使用表单提交事件处理表单的数据等。

总而言之,JavaScript使用事件是为了实现网页的交互性和动态性,能够使用户与网页进行实时的互动。

常用的触发事件

窗口事件

onblur

当前元素失去焦点时触发此事件

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        /*  当窗口失去焦点时 */
		window.onblur = function () {
		/**
		* console 为控制台输出
		* log 为日志
		* 控制台输出日志
		*/
  		console.log('窗口失去了焦点!');
}
    </script>
</head>
<body>

</body>
</html>

运行结果:
在这里插入图片描述

onfocus

当某个元素获得焦点时触发此事件

代码演示:

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

</body>
</html>

运行结果:

在这里插入图片描述

onresize

当改变浏览器的窗口大小时触发此事件

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script>
    window.onresize = function (){
        console.log("窗口大小发生改变")
    }
  </script>
</head>
<body>

</body>
</html>

运行结果:
在这里插入图片描述

窗口加载事件

窗口加载中就会触发

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script>
    window.onload = function (){
        console.log("窗口加载完毕")
    }
  </script>
</head>
<body>

</body>
</html>

运行结果:
在这里插入图片描述

表单事件

onchange

内容改变事件

代码演示:

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

运行结果:
在这里插入图片描述

oninput

当文本框内容改变时 ,立即将改变内容 输出在控制台

代码演示:

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

运行结果:
在这里插入图片描述

键盘事件

onkeydown

当键盘上的某个按键被按下时触发此事件

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        window.onkeydown = function () {
            event = event || window.event;
            console.log('键盘按下了' + event.keyCode);
            if (event.keyCode == 13) {
                console.log("按下了回车")
            }
        }
    </script>
</head>
<body>

</body>
</html>

运行结果:
在这里插入图片描述

onkeyup

当键盘上的某个按键被按下后弹起时触发此事件

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        window.onkeydown = function () {
            event = event || window.event;
            console.log('键盘按下了' + event.keyCode);
            if (event.keyCode == 13) {
                console.log("按下了回车")
            }
        }
    </script>
</head>
<body>

</body>
</html>

运行结果:
在这里插入图片描述

鼠标事件

onclick

点击鼠标时触发此事件

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script>
      window.onclick=function (){
          console.log("鼠标点击")
      }
  </script>
</head>
<body>
</body>
</html>

运行结果:
在这里插入图片描述

ondblclick

双击鼠标时触发此事件

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script>
       window.ondblclick=function (){
          console.log("鼠标双击")
      }
  </script>
</head>
<body>
</body>
</html>

运行结果:
在这里插入图片描述

onmousemove

鼠标移动时触发此事件

代码演示:

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

运行结果:

在这里插入图片描述

onmouseout

鼠标从某个设置了此事件的元素上离开时触发此事件

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script>
      window.onmouseout=function (){
          console.log("鼠标悬浮后离开触发")
      }
  </script>
</head>
<body>
</body>
</html>

运行结果:

在这里插入图片描述

onscroll

当滚动元素的滚动条运行时

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script>
      window.onscroll =function (){
          console.log("鼠标滚轮触发")
      }
  </script>
</head>
<body>
<!--此处省阅多条代码-->
</body>
</html>

运行结果:
在这里插入图片描述

总结

窗口事件总结

关键单词作用
onblur失去焦点
onfocus获得焦点
onload窗口加载事件
onresize窗口大小缩放事件

表单事件总结

关键单词作用
onchange内容改变事件
oninput当文本框内容改变时 ,立即将改变内容 输出在控制台
oninvalid获取表单 未能提交时
onselect当文本框内容被选中时
onsubmit为表单绑定提交事件

键盘事件总结

关键单词作用
onkeydown当键盘上的某个按键被按下时触发此事件
onkeyup当键盘上的某个按键被按下后弹起时触发此事件
onkeypress当输入有效的字符按键时触发此事件

鼠标事件总结

关键单词作用
onclick鼠标单击时触发此事件
ondblclick鼠标双击时触发此事件
onmousedown鼠标按下时触发此事件
onmouseup鼠标弹起时触发的事件
onmouseover鼠标移动到某个设置了此事件的元素上时触发此事件
onmousemove鼠标移动时触发此事件
onmouseout鼠标从某个设置了此事件的元素上离开时触发此事件
onscroll当滚动元素的滚动条运行时
onmousewheel当鼠标的滚轮运行时

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

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

相关文章

京东年度数据报告-2023全年度烘干机十大热门品牌销量榜单

相较于洗衣机&#xff0c;烘干机市场虽然起步较晚&#xff0c;但在消费升级的浪潮中&#xff0c;烘干机的价值越来越被更多的家庭认可和信赖&#xff0c;行业整体也越来越成熟。不过&#xff0c;随着市场的趋向饱和&#xff0c;烘干机市场的增长也日趋乏力&#xff0c;2023年烘…

Redis:原理速成+项目实战——初识Redis、Redis的安装及启动、Redis客户端

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;首期文章 &#x1f4da;订阅专栏&#xff1a;Redis速成 希望文章对你们有所帮助 在此之前&#xff0c;我做过的项目里面也用到了…

引领创业新风潮,花为缘享奢二手奢侈品买卖如何突出重围脱颖而出

数据显示&#xff0c;中国消费者的奢侈品消费金额占全球的份额从2000年的1%左右提升到2017年的33%。奢侈品消费的主战场仍是品牌发源地的欧洲和美国&#xff0c;中国消费者奢侈品消费规模全球第一。奢侈品逆势增长与持续涨价这件事&#xff0c;无疑预示着二级奢侈品转售市场将迎…

HarmonyOS 组件生命周期

接下来 我们来说组件生命周期 组件包括两个生命周期 aboutToAppear 组件准备加载时触发 aboutToDisappear 组件销魂时触发 我们组件编写代码如下 Entry Component struct Index {State state:boolean true;build() {Row() {Column() {if(this.state){subassembly()}Button(…

66biolinks v42.0.0 已注册 – 生物短链接、URL 缩短器、QR 码和 Web 工具 (SAAS) 源码

66biolinks v42.0.0&#xff1a;全能生物短链接与网络工具平台 一、开篇介绍 66biolinks v42.0.0是一款集生物链接、URL缩短器、二维码和网络工具于一体的综合性软件解决方案。作为社交生物链接平台的佼佼者&#xff0c;66biolinks提供了全方位的功能&#xff0c;旨在满足用户…

最新AI系统ChatGPT网站H5系统源码,支持AI绘画,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

Vue2+element-ui 实现select选择器结合Tree树形控件实现下拉树效果

效果&#xff1a; DOM部分 &#xff1a; // 设置el-option隐藏的下拉选项&#xff0c;选项显示的是汉字label&#xff0c;值是value // 如果不设置一个下拉选项&#xff0c;下面的树形组件将无法正常使用 <el-form-item label"报警区域" prop"monitorId"…

2023年度总结(找到工作)

转眼2023年结束了&#xff0c;今天已经12月29日了。从2022年12月25日考研失败后&#xff0c;2023年就变成了找工作以及上班度日的时光了。针对2023年&#xff0c;我想对自己所说的是&#xff1a;终于找到工作了。作为一个普通的专升本&#xff0c;考研落榜生来说&#xff0c;能…

VsCode(Visual Studio Code) 安装插件教程

VsCode&#xff08;Visual Studio Code&#xff09; 安装插件教程 1、打开VsCode 桌面上、最近安装程序上找找吧 在桌面上双击&#xff0c;打开 2、打开的效果图 3、点击左侧最后的插件图标 4、打开后如下图所示 5、在输入框中输入Go 6、同样在安装插件页面也可以卸载、安装…

rax3000m刷openwrt固件

rax3000m刷机过程&#xff08;nand版本&#xff09; 刷机准备文件https://www.123pan.com/s/X5m9-6Ynj.html提取码:VtBW 接线关系&#xff1a;路由器lan口接电脑 1.上传配置开启ssh的配置文件&#xff08;登录路由器后台管理界面在找到配置管理&#xff0c;上传配置文件rax3…

联合办公行业即将走向寒冬?如何重拾创业者信心

近年来&#xff0c;联合办公行业固然经历了迅猛发展&#xff0c;但现在似乎遭遇了一个潜在的拐点。面对经济的下行压力&#xff0c;一些人士担忧联合办公行业可能会步入寒冬。就在这个关键时刻&#xff0c;如何重拾创业者的信心成为行业内急需解决的问题。 首先要认识到的是&am…

探索 Node.js 与 C++ 的绑定:使用 node-addon-api

在 Node.js 中使用 C 进行绑定是一种强大的方式&#xff0c;可以充分利用 C 的性能优势。在本文中&#xff0c;我们将探讨如何使用 node-addon-api 来实现这一目标。 1. 为什么选择 C 绑定&#xff1f; Node.js 是一个基于 JavaScript 的平台&#xff0c;它使得开发人员能够使…

中介者模式-Mediator Pattern-1

如果在一个系统中对象之间的联系呈现为网状结构&#xff0c; 对象之间存在大量的多对多联系&#xff0c;将导致系统非常复杂。 这些对象既会影响别的对象&#xff0c;也会被别的对象所影响。 这些对象称为同事对象&#xff0c;它们之间通过彼此的相互作用实现系统的行为。 在网…

如何本地搭建FastDFS文件服务器并实现远程访问【内网穿透】

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

2024年软考中级-网络工程师

网络工程师证书考到后&#xff0c;通过本级考试的合格人员能根据应用部门的要求进行网络系统的规划、设计和网络设备的软硬件安装调试工作&#xff0c;能进行网络系统的运行、维护和管理&#xff0c;能高效、可靠、安全地管理网络资源&#xff1b;作为网络专业人员对系统开发进…

sqlite3 c++ VS编译生成静态库

官网 https://www.sqlite.org/download.html 下载sqlite-amalgamation和x86版本下载sqlite-dll-win32-x86、x64位版本sqlite-dll-win64-x64 解压 SQLITE-AMALGAMATION包含 shell.csqlite3.csqlite3.hsqlite3ext.hsqlite-dll-win32-x86包含 sqlite3.def sqlite3.dll建立一个空…

使用ArcMap进行选址服务,适宜性分析

文章目录 题目分析技术步骤1&#xff0c;环境设置2&#xff0c;计算坡度&#xff1a;空间分析——表面分析——坡度&#xff0c;根据DEM求坡度4&#xff0c;距离计算3&#xff0c;坡度赋分4&#xff0c;对学校赋分5&#xff0c;娱乐设施赋分6&#xff0c;土地利用类型赋分7&…

springboot整合hadoop遇错

错误一&#xff1a; Caused by: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. 解决&#xff1a; 下载&#xff1a;https://github.com/steveloughran/winutils 选择一个版本 例如&#xff1a;3.0.0 &#xff0c;将里面的hadoop.dll文件复制…

Linux磁盘阵列

一.RAID磁盘阵列介绍 RAID&#xff08;Redundatnt Array of lndependent Disks&#xff09;&#xff0c;全称为&#xff1a;独立冗余磁盘阵列 解释&#xff1a; RAID是一种把多块独立的硬盘&#xff08;物理硬盘&#xff09;按不同的方式组合起来形成一个硬盘组&#xff08;逻…