JavaWeb JavaScript ⑥ 事件

你摸黑偷偷赶得路,都会变成意外来袭时你少受的苦

                                                                        —— 24.8.29

一、什么是事件

HTML 事件可以是浏览器行为,也可以是用户行为。
当一些行为发生时,可以自动触发对应的JS函数的运行,我们称之为事件发生,JS的
件驱动
指的就是行为触发代码运行的这种特点

二、事件的绑定方式

① 通过元素的属性绑定 on ***

② 通过DOM编程动态绑定

注意:一个事件可以同时绑定多个函数

三、常见事件

1.鼠标事件

① onmouseover —— 鼠标悬停

② onmousemove —— 鼠标移动

③ onmouseleave —— 鼠标离开

④ onclick —— 单击

⑤ ondblclick —— 双击

2.键盘事件

① onkeydown —— 键盘的按下

② onkeyup —— 键盘的开启

3.表单事件

① onfocus —— 获取焦点事件

② onblur —— 失去焦点事件

③ onsubmit —— 表单提交事件

④ onreset —— 表单重置事件

4.页面加载事件

onload

5.常见事件演示代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=, initial-scale=1.0"><title>Document</title><script>function myFunction1() {console.log('你单击了按钮1!')}function myFunction2() {console.log('你点击了按钮2!')}function myFunction3() {console.log('你双击了按钮3!')}   function myFunction4() {console.log('你按下了回车键!')}function myFunction5() {console.log('你按下了Esc键!')}   function myFunction6() {console.log('你按下了空格键!')}   function myFunction7() {console.log("鼠标悬停了!")}function myFunction8() {console.log("鼠标移出了!")}function myFunction9() {console.log("鼠标移动了!")}function myFunction10() {console.log("键盘按下了!")}function myFunction11() {console.log("键盘松开了!")}/*1.事件的绑定方式① 通过元素的属性绑定 on***② 通过DOM编程动态绑定注意事项:一个事件可以同时绑定多个函数2.常见的事件① 鼠标事件 onmouseover(鼠标悬停)、onmousemove(鼠标移动)、onmouseleave(鼠标离开)、onclick(单击)、ondblclick(双击)③ 键盘事件 onkeydown(键盘的按下)、onkeyup(键盘的开启)、onkeypress(某个键盘按键被按下并松开)③ 表单事件 onfocus(获取焦点事件)、onblur(失去焦点事件)、onsubmit(表单提交事件)、onreset(表单重置事件)④ 页面加载事件 onload3.事件的触发① 行为触发② DOM编程触发*/function testFocus() {console.log("获取焦点了!")}function testBlur() {console.log("失去焦点了!")}function testSubmit() {console.log("提交了!")}function testChange(value) {  console.log("内容改变为:"+value)}function testChange2(){console.log("选项改变了!")}function testSubmit(){/*弹窗的三种方式alert("表单发生提交了!");  信息提交框confirm("你确定要提交吗?")     信息确认框prompt("请输入你的评论:")      信息输入框*/var result = confirm("你确定要提交吗?");if(result){alert("表单发生提交了!");}else{alert("表单未提交!");event.preventDefault();// 阻止组件的默认提交行为,可以动态选择}}function testReset(){console.log("表单重置了!")}    </script></head>
<body><!-- 鼠标事件 --><input type="button"value="按钮"onclick="myFunction1(), myFunction2()"ondblclick="myFunction3()"><br><!-- 键盘事件 --><img src="img/夕阳.jpg" onmouseover="myFunction7()" onmouseout="myFunction8()" onmousemove="myFunction9()"><br><input type="text" onkeydown="myFunction10()" onkeyup="myFunction11()"><br><!-- 表单事件 --><form action="01JS引入方式.html" method="get" onsubmit="return testSubmit()" onreset="testReset()">用户昵称:<input type="text" name="realName" onfocus="testFocus()"onblur="testBlur()"onchange="testChange(this.value)"> <br>登陆账号:<input type="text" name="logoinName"onfocus="testFocus()"onblur="testBlur()"onchange="testChange()"><br>选择籍贯:<select name="province"onchange="testChange2()"><option value="北京">北京</option><option value="上海">上海</option><option value="广州">广州</option>密码:<input type="password" name="password"onfocus="testFocus()"onblur="testBlur()"onchange="testChange()"><br><input type="submit" value="注册"><input type="reset" value="重置"><br>
</body>
</html>

四、事件的触发

1.行为触发

2.DOM编程触发

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>/*1.事件的绑定方式① 通过元素的属性绑定 on***② 通过DOM编程动态绑定注意事项:一个事件可以同时绑定多个函数2.常见的事件① 鼠标事件 onmouseover(鼠标悬停)、onmousemove(鼠标移动)、onmouseleave(鼠标离开)、onclick(单击)、ondblclick(双击)③ 键盘事件 onkeydown(键盘的按下)、onkeyup(键盘的开启)、onkeypress(某个键盘按键被按下并松开)③ 表单事件 onfocus(获取焦点事件)、onblur(失去焦点事件)、onsubmit(表单提交事件)、onreset(表单重置事件)④ 页面加载事件 onload (页面加载完成事件)、onunload(页面卸载事件)3.事件的触发① 行为触发② DOM编程触发*/</script>    <script>function ready(){// 通过DOM获得要操作的元素var btn = document.getElementById("btn1");// 绑定一个单击事件,直接声明一个函数btn.onclick = function(){alert("按钮被单击了!");}}window.onload = function(){// 为div1绑定单击事件,单击变红var div1 = document.getElementById("d1");div1.onclick = function(){div1.style.backgroundColor = "red";}// 通过DOM获得要操作的元素var btn = document.getElementById("btn1");// 绑定一个单击事件,直接声明一个函数btn.onclick = function(){alert("按钮被单击了!");// 通过DOM编程动态绑定一个事件,相当于某些事件被触发了div1.onclick();     // 触发div的单击事件}}</script><style> .div1{width: 100px;height: 100px;background-color: yellow;}</style>
</head>
<body><div id="d1" class="div1"></div><button id="btn1">按钮</button>
</body>
<!-- 
<body onload="ready()"><button id="btn1">按钮</button>
</body> 
-->
</html>

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

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

相关文章

ComfyUI SDXL Prompt Styler 简介

SDXL Prompt Styler 来自于 comfyui-art-venture 节点 style 已经更新 旧版本的 sai-line art 变更为 line art log_prompt 已经更新 旧版本的 false 变更为 Yes 或 No style_name 已经更新 旧版本的 true &#xff08;不再适用&#xff09;&#xff08;可以尝试对应style中…

【IoT】将各类遥控器(红外,频射,蓝牙,wifi,Zigbee)等设备接入米家,实现家庭物联网设备控制(以极米Z7X投影仪为例)

【IoT】将各类遥控器&#xff08;红外&#xff0c;频射&#xff0c;蓝牙&#xff0c;wifi&#xff0c;加密&#xff09;等设备接入米家&#xff0c;实现家庭物联网设备控制&#xff08;以极米Z7X投影仪为例&#xff09; 文章目录 1、三种主流遥控方式&#xff08;红外&#xff…

看新闻知补贴不用专门薅羊毛!让工作变舒服的5个黄金法则——早读(逆天打工人爬取热门微信文章解读)

你们都不看新闻吗&#xff1f; 引言Python 代码第一篇 洞见 让工作变舒服的5个黄金法则第二篇 故事之散户结尾 (发了3000亿以旧换新补贴&#xff0c;大家没有感觉到力度吗&#xff1f; 时间到今年年底&#xff0c;9月-12月是消费区&#xff0c;中间夹杂个双十一&#xff0c;现在…

一文搞懂 js 原型和原型链

文章目录 一、前言二、原型2.1 概念2.2 获取原型的方法2.2.1 __proto__获取方式2.2.2 通过构造函数prototype 属性获取2.2.2 ES6 class 通过Object.getPrototypeOf()获取类原型 2.3 通过原型实现继承2.4 原型的作用 三、 原型链四、ES6实现继承五、综述 一、前言 原型和原型链…

深入学习SQL优化的第五天(最后一天)

子查询 1321 餐 馆 营 业 额 变 化 增 长 1321. 餐馆营业额变化增长 表: Customer------------------------ | Column Name | Type | ------------------------ | customer_id | int | | name | varchar | | visited_on | date | | amount …

Linux网口指令

一 查看配置 ifconfig 二 修改IP sudo ifconfig ens33 192.168.150.100 netmask 255.255.255.0

kafka的12个重要概念

kafka的12个重要概念 1、服务器broker1.1、Broker 的主要功能1.2、Kafka Broker 的架构1.3、配置和管理1.4、高可用性和负载均衡1.5、总结 2、主题topic2.1、主要特点 3、事件Event4、生产者producer4.1、主要功能4.2、Producer 的配置选项4.3、Producer 的工作流程4.4、总结 5…

如何在不增加太多时间和精力的情况下,提高OZON电商店铺的运营效果

以下是一些在不增加过多时间精力的情况下提高 OZON 电商店铺运营效果的要点&#xff1a; 一、优化产品信息 • 关键词优化&#xff1a;利用 15-30 分钟时间&#xff0c;每周进行一次关键词研究&#xff0c;找到与产品相关且搜索量大的关键词&#xff0c;将其巧妙地融入到产品标…

3、LVGL控件-开关、复选框、进度条

本篇文章目录导航 ♠♠ LVGL控件-开关、复选框、进度条 ♣♣♣♣ 一、LVGL开关部件 ♦♦♦♦♦♦♦♦ 1.1 开关部件组成部分 ♦♦♦♦♦♦♦♦ 1.2 开关部件基本API ♦♦♦♦♦♦♦♦ 1.3 实验小演示 ♣♣♣♣ 二、LVGL复选框部件 ♦♦♦♦♦♦♦♦ 2.1 复选框部件组成部分 ♦…

立体库技术协议:完整版

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 完整版文件和更多学习资料&#xff0c;请球友到知识星球【智能仓储物流技术研习社】自行下载。 这份文件是一份关于自动化立体库技术协议的详细文档&#xff0c;包括了总体设计方案、…

C语言中的运算符

一,算数运算符 基本算术运算符&#xff1a; 加法&#xff08;&#xff09;&#xff1a;用于两个数相加。例如 int a 3 5;&#xff0c;结果 a 的值为 8。 减法&#xff08;-&#xff09;&#xff1a;两个数相减。如 int b 7 - 4;&#xff0c;b 的值为 3。 乘法&#xff08;*…

【动图效果概览】自动化建链后,Exata调用STK更新卫星位置

如下图所示&#xff0c;动画遵循 时间前进方向&#xff0c;划分截取为5段 &#xff08;因为每张照片限制大小5MB&#xff0c;不够应该够看清个大概意思了&#xff09;&#xff1a;

黑神话悟空用什么编程语言

《黑神话&#xff1a;悟空》作为一款备受瞩目的国产单机动作游戏&#xff0c;其背后的开发涉及了多种编程语言和技术。根据公开信息和游戏开发行业的普遍做法&#xff0c;可以推测该游戏主要使用了以下几种编程语言&#xff1a; C&#xff1a; 核心编程语言&#xff1a;作为《黑…

【计算机网络】计算机网络的分层结构

为什么要分层&#xff1f;为什么要制定协议&#xff1f; 计算机网络功能复杂→采用分层结构&#xff0c;将诸多功能合理地划分在不同层次→对等层之间制定协议&#xff0c;以实现功能。

LabVIEW性能优化方法

在LabVIEW开发中&#xff0c;性能优化至关重要。合理的内存管理、并行处理、多线程优化、以及界面和代码的精简能够大幅提高程序效率&#xff0c;降低系统资源占用。下面将探讨LabVIEW性能优化的各个方面&#xff0c;提供实用技巧和建议&#xff0c;帮助开发者提升项目的执行速…

Node.js原生开发脚手架工具(下)

前言 在现代软件开发中&#xff0c;脚手架工具成为提高开发效率和一致性的关键利器。使用Node.js原生开发自己的脚手架工具不仅能帮助自动化常见任务&#xff0c;还能根据具体需求进行高度定制。Node.js的异步非阻塞特性和丰富的模块系统使其成为构建这种工具的理想选择。本篇文…

12.torchvision中的数据集使用

torchvision中的数据集使用 需要学习知识&#xff1a; 如何把数据集&#xff08;多张图片&#xff09;和 transforms 结合在一起。 标准数据集如何下载、查看、使用。 进入pytorch官网&#xff0c;可以看到pytorch文档里分了不同的块&#xff0c;如下图&#xff0c;标出了常…

《机器学习》—— K-means 聚类算法

文章目录 一、什么是K-means 聚类算法&#xff1f;二、聚类效果评价方式——轮廓系数三、示例&#xff1a;代码实现四、聚类算法的优缺点 一、什么是K-means 聚类算法&#xff1f; K-Means 是 Python 中非常流行的一个聚类算法&#xff0c;它属于无监督学习算法的一种。在 sci…

PDF招生简章如何转二维码?

​随着科技的不断发展&#xff0c;招生报名方式也在不断创新。如今&#xff0c;许多学校和企业都采用PDF招生简章来宣传招生。然而&#xff0c;传统的纸质招生简章存在携带不便、易损坏等问题。为了解决这些问题&#xff0c;将PDF招生简章转换为二维码成为了一种趋势。那你知道…

微信小程序开发--详情【开发一次 多端覆盖】

目录 1、准备工作 了解 uni-app : 准备开发工具&#xff1a; 下载 &#xff1a; 安装完成后&#xff0c;打开这个开发者工具&#xff1a; 对微信小程序进行配置&#xff1a; 使用开发工具HBuilderX:&#xff1a; 先安装终端插件 2、初始化一个demo 创建项目&#xff1…