Javaweb之javascript事件的详细解析

1.6 JavaScript事件

1.6.1 事件介绍

如下图所示的百度注册页面,当我们用户输入完内容,百度可以自动的提示我们用户名已经存在还是可以使用。那么百度是怎么知道我们用户名输入完了呢?这就需要用到JavaScript中的事件了。

什么是事件呢?HTML事件是发生在HTML元素上的 “事情”,例如:

  • 按钮被点击

  • 鼠标移到元素上

  • 输入框失去焦点

  • ........

而我们可以给这些事件绑定函数,当事件触发时,可以自动的完成对应的功能。这就是事件监听。例如:对于我们所说的百度注册页面,我们给用户名输入框的失去焦点事件绑定函数,当我们用户输入完内容,在标签外点击了鼠标,对于用户名输入框来说,失去焦点,然后执行绑定的函数,函数进行用户名内容的校验等操作。JavaScript事件是js非常重要的一部分,接下来我们进行事件的学习。那么我们对于JavaScript事件需要学习哪些内容呢?我们得知道有哪些常用事件,然后我们得学会如何给事件绑定函数。所以主要围绕2点来学习:

  • 事件绑定

  • 常用事件

1.6.2 事件绑定

JavaScript对于事件的绑定提供了2种方式:

  • 方式1:通过html标签中的事件属性进行绑定

    例如一个按钮,我们对于按钮可以绑定单机事件,可以借助标签的onclick属性,属性值指向一个函数。

    在VS Code中创建名为09. JS-事件-事件绑定.html,添加如下代码:

    <input type="button" id="btn1" value="事件绑定1" οnclick="on()">
    <script>function on(){alert("按钮1被点击了...");}
    </script>

    很明显没有on函数,所以我们需要创建该函数,代码如下:

     

    浏览器打开,然后点击按钮,弹框如下:

  • 方式2:通过DOM中Element元素的事件属性进行绑定

    依据我们学习过得DOM的知识点,我们知道html中的标签被加载成element对象,所以我们也可以通过element对象的属性来操作标签的属性。此时我们再次添加一个按钮,代码如下:

    <input type="button" id="btn2" value="事件绑定2">

    我们可以先通过id属性获取按钮对象,然后操作对象的onclick属性来绑定事件,代码如下:

    document.getElementById('btn2').onclick = function(){alert("按钮2被点击了...");
    }

    浏览器刷新页面,点击第二个按钮,弹框如下:

  •  

    需要注意的是:事件绑定的函数,只有在事件被触发时,函数才会被调用。

    整体代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>JS-事件-事件绑定</title>
    </head>
    ​
    <body><input type="button" id="btn1" value="事件绑定1" onclick="on()"><input type="button" id="btn2" value="事件绑定2">
    </body>
    ​
    <script>function on(){alert("按钮1被点击了...");}
    ​document.getElementById('btn2').onclick = function(){alert("按钮2被点击了...");}
    ​
    </script>
    </html>

1.6.3 常见事件

上面案例中使用到了 onclick 事件属性,那都有哪些事件属性供我们使用呢?下面就给大家列举一些比较常用的事件属性

事件属性名说明
onclick鼠标单击事件
onblur元素失去焦点
onfocus元素获得焦点
onload某个页面或图像被完成加载
onsubmit当表单提交时触发该事件
onmouseover鼠标被移到某元素之上
onmouseout鼠标从某元素移开

在代码中提供了10. JS-事件-常见事件.html的文件,我们可以通过浏览器打开来观察几个常用事件的具体效果:

  • onfocus:获取焦点事件,鼠标点击输入框,输入框中光标一闪一闪的,就是输入框获取焦点了

  • onblur:失去焦点事件,前提是输入框获取焦点的状态下,在输入框之外的地方点击,光标从输入框中消失了,这就是失去焦点。

其他事件的效果,我们可以通过提供好的代码去演示,亲身体会事件在什么时候触发。

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

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

相关文章

仿京东拼多多商品分类页-(RecyclerView悬浮头部实现、xml绘制ItemDecoration)

文章目录 前言效果图思路方式一&#xff1a;通过xml布局来实现方式二&#xff1a;通过ItemDecoration方式来实现 实现步骤1、数据项格式2、左侧列表适配器3、右侧列表适配器4、头部及悬浮头部绘制4.1头部偏移高度为要绘制xml布局的高度--getItemOffsets()4.2 绘制固定头部--onD…

互联网Java工程师面试题·微服务篇·第二弹

目录 18、什么是 Spring 引导的执行器&#xff1f; 19、什么是 Spring Cloud&#xff1f; 20、Spring Cloud 解决了哪些问题&#xff1f; 21、在 Spring MVC 应用程序中使用 WebMvcTest 注释有什么用处&#xff1f; 22、你能否给出关于休息和微服务的要点&#xff1f; 23、…

Crypto | Affine password 第二届“奇安信”杯网络安全技能竞赛

题目描述&#xff1a; 明文经过仿射函数y3x9加密之后变为JYYHWVPIDCOZ&#xff0c;请对其进行解密&#xff0c;flag的格式为flag{明文的大写形式}。 密文&#xff1a; JYYHWVPIDCOZ解题思路&#xff1a; 1、使用在线网站直接破解或手工计算破解&#xff0c;获得flag。&#xf…

【ARM Trace32(劳特巴赫) 使用介绍 4 - Trace32 Discovery 详细介绍】

请阅读【ARM Coresight SoC-400/SoC-600 专栏导读】 文章目录 1.1 SYS.Detect1.2 AHBAPn/AXIAPnAPBAPn.Base1.1 SYS.Detect 在 TRACE32 中, SYS.Detect 是一个用来检测目标系统配置的命令。 当你执行 SYS.Detect DAP 命令时,TRACE32 将自动检测和识别目标系统上的 ARM De…

lc307.区域和检索 - 数组可修改

暴力解法 创建方法&#xff0c;通过switch-case判断所需要调用的方法。 public class RegionsAndSertches {public static void main(String[] args) {String[] str new String[]{"NumArray", "sumRange", "update", "sumRange"};i…

DevEco Studio开发工具下载、安装(HarmonyOS开发)_For Mac

一、说明 初学HarmonyOS开发&#xff0c;DevEco Studio开发工具的安装和使用是必须的。 &#xff08;注&#xff1a;不多废话&#xff0c;跟着下面流程操作下载、安装DevEco Studio即可。&#xff09; 二、下载DevEco Studio 1.官网下载地址&#xff1a; https://developer.…

全域全自主建设,亚信科技AntDB数据库助力广电5G业务上线运行

自2019年6月&#xff0c;中国广电成功获得5G牌照以来&#xff0c;迅速推进网络建设目标&#xff0c;成为5G网络覆盖广、应用场景多、用户体验出色的第四大运营商。其依托全球独有的700MHz频谱资源&#xff0c;具备覆盖能力强、容量足、速率高的优势。通过不断深化和中国移动的共…

数据复现-企业数字化转型与中国实体经济发展分析

数据简介&#xff1a;在当今快速发展的数字化时代&#xff0c;数字技术已经成为企业数字化转型的核心驱动力之一。尤其对于中国这样一个拥有庞大实体经济的国家而言&#xff0c;结合数字技术的应用&#xff0c;可以为企业带来前所未有的巨大机遇和挑战。在中国&#xff0c;实体…

5 Paimon数据湖之表数据查询详解

更多Paimon数据湖内容请关注&#xff1a;https://edu.51cto.com/course/35051.html 虽然前面我们已经讲过如何查询Paimon表中的数据了&#xff0c;但是有一些细节的东西还需要详细分析一下。 首先是针对Paimon中系统表的查询&#xff0c;例如snapshots\schemas\options等等这些…

接口开放太麻烦?试试阿里云API网关吧

前言 我在多方合作时&#xff0c;系统间的交互是怎么做的&#xff1f;这篇文章中写过一些多方合作时接口的调用规则和例子&#xff0c;然而&#xff0c;接口开放所涉及的安全、权限、监控、流量控制等问题&#xff0c;可不是简简单单就可以解决的&#xff0c;这一般需要专业的…

ElasticSearch简单操作

目录 1.单机部署 1.1 解压软件 1.2 创建软链接 1.3 修改配置文件 1.4 配置环境变量 1.5 后台启动 2.配置分词器 2.1 安装IK分词器 2.2 ES 扩展词汇 3.常用操作 3.1 索引 3.1.1 创建索引 3.1.2 查看所有索引 3.1.3 查看单个索引 3.1.4 删除索引 3.2.文档 3.2.1…

@Async注解的坑

问题描述 一个方法调用另一个方法(该方法使用Async注解)在同一个类文件中&#xff0c;该注解会失效&#xff01; 问题复现 TestAsyncController 类 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Async; im…