javaweb系列- JavaScript事件

news2024/11/26 2:41:20

1.6 JavaScript事件

1.6.1 事件介绍

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

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

  • 按钮被点击

  • 鼠标移到元素上

  • 输入框失去焦点

  • ........

而我们可以给这些事件绑定函数,当事件触发时,可以自动的完成对应的功能。这就是事件监听。例如:对于我们所说的百度注册页面,我们给用户名输入框的失去焦点事件绑定函数,当我们用户输入完内容,在标签外点击了鼠标,对于用户名输入框来说,失去焦点,然后执行绑定的函数,函数进行用户名内容的校验等操作。

1.6.2 事件绑定

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

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

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

    <body>
        <input type="button" id="bt1" value="按钮1" onclick="on()">
        <input type="button" id="bt2" value="按钮2">
    
       <script>
        function on(){
            alert("按钮1被单击了");
        }   
       </script>
    </body>
  • 方式2:通过DOM中Element元素的事件属性进行绑定

    //为按钮2添加单击事件
    document.getElementById('bt2').onclick = function(){
        alert("按钮2被单击了");
    }
  

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

1.6.3 常见事件

下面列举一些比较常用的事件属性

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

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

1.6.4 案例

1.6.4.1 需求说明

接下来看一个案例:

需求如下3个:

  1. 点击 “点亮”按钮 点亮灯泡,点击“熄灭”按钮 熄灭灯泡

  2. 输入框鼠标聚焦后,展示小写;鼠标离焦后,展示大写。

  3. 点击 “全选”按钮使所有的复选框呈现被选中的状态,点击 “反选”按钮使所有的复选框呈现取消勾选的状态。

效果如图所示:

<!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>

    <img id="light" src="img1/off.gif"> <br>

    <input type="button" value="点亮" onclick="on()">
    <input type="button" value="熄灭" onclick="off()">

    <br> <br>

    <input type="text" id="name" value="IT" onfocus="focus()" onblur="blur()">
    <br> <br>

    <input type="checkbox" name="hobby"> 电影
    <input type="checkbox" name="hobby"> 旅游
    <input type="checkbox" name="hobby"> 游戏
    <br>

    <input type="button" value="全选" onclick="checkall()">
    <input type="button" value="反选" onclick="reverse()">

</body>
<script>
    function on() {
        var li = document.getElementById('light');
        li.src = "img1/on.gif";
    }

    function off() {
        var li = document.getElementById('light');
        li.src = "img1/off.gif";
    }

    function focus() {
        var input = document.getElementById("name");
        //b. 将值转为小写
        input.value = input.value.toLowerCase();
       
    }

    function blur() {
        var input = document.getElementById("name");
        //b. 将值转为大写
        input.value = input.value.toUpperCase();
    }

    function checkall(){
        var checks = document.getElementsByName("hobby");
        for (let i = 0; i < checks.length; i++) {
            const element = checks[i];
            element.checked = true;            
        }
    }

    function reverse(){
        var checks = document.getElementsByName("hobby");
        for (let i = 0; i < checks.length; i++) {
            const element = checks[i];
            element.checked = false;            
        }
    }

</script>

</html>

 

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

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

相关文章

【SpringBoot】整合第三方技术Junit. MybatisPlus druid

【SpringBoot】整合第三方技术 整合junit整合MyBatis整合Mybatis-plus使用阿里云创建工程 SpringBoot整合druid 整合junit 自己定义一个功能&#xff0c;测试功能接口 测试步骤注入你要测试的对象 提前声明为bean资源执行你要测试的方法 package com.ustc.sp7;import com.us…

MySQL—MVCC

文章目录 数据库并发的场景有三种MVCC概念读-写3个记录隐藏列字段undo log模拟MVCC Read ViewRC与RR的本质区别RCRR 数据库并发的场景有三种 读-读: 不存在任何问题&#xff0c;也不需要并发控制 读-写∶有线程安全问题&#xff0c;可能会造成事务隔离性问题&#xff0c;可能遇…

阿里云GPU服务器租用费用包年包月、一个小时和学生价格

阿里云GPU服务器租用价格表包括包年包月、一个小时收费以及学生GPU服务器租用费用&#xff0c;阿里云GPU计算卡包括NVIDIA V100计算卡、T4计算卡、A10计算卡和A100计算卡&#xff0c;GPU云服务器gn6i可享受3折&#xff0c;阿里云百科分享阿里云GPU服务器租用价格表、GPU一个小时…

chatgpt赋能Python-aidlearning安装python

安装Python的必要性和意义 Python是一种非常流行的编程语言&#xff0c;它的易学易用&#xff0c;高效实用&#xff0c;使得很多人选择使用Python进行编程。对于AI学习&#xff0c;Python更是至关重要&#xff0c;因为很多AI框架和算法都需要使用Python进行编写和实现。因此&a…

Java设计模式 14-访问者模式

访问者模式 这个模式用的很少&#xff0c;《设计模式》的作者评价为&#xff1a; 大多情况下&#xff0c;你不需要使用访问者模式&#xff0c;但是一旦需要使用它时&#xff0c;那就真的需要使用了 一、测评系统的需求 1)将观众分为男人和女人&#xff0c;对歌手进行测评&…

逻辑回归优化技巧总结(全)

本文从实际应用出发&#xff0c;以数据特征、优化算法、模型优化等方面&#xff0c;全面地归纳了逻辑回归&#xff08;LR&#xff09;优化技巧。 一、LR的特征生成 逻辑回归是简单的广义线性模型&#xff0c;模型的拟合能力很有限&#xff0c;无法学习到特征间交互的非线性信息…

详解c++---继承

目录标题 为什么会有继承继承的概念继承的定义基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承和友元继承与静态成员什么是菱形继承如何解决菱形继承解决的底层原理继承和组合 为什么会有继承 在平时的使用过程中通常会出现一部分数据会在很多其他地方被使用…

微信商城小程序怎么开通?

随着移动互联网的快速发展&#xff0c;微信商城小程序成为了越来越多企业开启电商新模式的首选之一。微信商城小程序不仅在运营方式上具有很大优势&#xff0c;还能够提供更加便利和舒适的购物体验。那么微信商城小程序怎么开通呢&#xff1f;下面&#xff0c;我们将简单介绍微…

ARM嵌入式编译之循环操作(LOOP)优化

取决于循环的迭代次数&#xff0c;完成循环可能需要花费大量时间&#xff0c;此外&#xff0c;每次迭代时&#xff0c;需要判断循环条件是否成立&#xff0c;这一操作也会降低循环的性能。 1 循环展开-Loop unrolling 为了减少每次循环都需要判断迭代条件带来的性能影响&…

chatgpt赋能Python-20210712用python提取年月日

使用Python实现年月日的提取 在进行数据分析或开发中&#xff0c;提取年月日信息是非常重要的一项任务。而Python作为一门优秀的编程语言&#xff0c;其内置的多种库和函数可以帮助我们快速且高效地实现这一任务。本篇文章将会介绍使用Python提取年月日的方法以及注意事项。 …

串口与4g模块

1.认识4G模块 1、接线与插卡&#xff1a;EC03-DNC4G通信模块&#xff0c;生产的公司是EBYTE&#xff08;亿佰特&#xff09;。官网上有软件和用户手册下载地址。 保证插卡不插错&#xff0c;一是使用SIM卡卡套&#xff0c;二是方向保证正确。如图位置是SIM卡状态灯&#xff0…

Trie树

目录 一、Tire树的概念二、Trie树的应用Trie字符串统计最大异或对&#xff08;难点&#xff09;暴力遍历法Trie树优化法 一、Tire树的概念 Trie树又称字典树、单词查找树。是一种能够高效存储和查找字符串集合的数据结构。 示例&#xff1a; 利用Tire树的数据结构储存字符串 储…

跟庄买股票得新技巧(第三弹)集合竞价战法

尾盘抢筹&#xff08;参考昨天&#xff09; 57分 12.35 收盘价 12.42 股价明显上涨&#xff08;越大越好&#xff09;全天阳线&#xff0c;否则突然变高就有作线的嫌疑12.35到12.42&#xff0c;滞留大量为成交单&#xff08;买一到买十存在大量买单&#xff0c;否则有做线嫌疑…

Spring-boot 结合Thymeleaf--拦截器--文件上传

目录 Spring-boot 结合Thymeleaf 官方文档 基本介绍 ● Thymeleaf 是什么 ● Thymeleaf 的优点 ● Thymeleaf 的缺点 ● Thymeleaf 机制说明 Thymeleaf 语法 表达式 1. 表达式一览 2.字面量 3. 文本操作 4.运算符 3. 比较运算 4. 条件运算 th 属性 迭代 条件运…

4年经验面试要15K,一问自动化却以为我在刁难他?

我这次是公司招聘的面试官之一&#xff0c;主要负责一些技术上的考核&#xff0c;这段时间还真让我碰到了不少奇葩求职者 昨天公司的HR小席刚跟我吐槽&#xff1a;这个星期没有哪天不加班的&#xff01;各种招聘网站上的消息源源不断&#xff0c;连吃饭都要回消息…… 看来最…

【Java面试】JVM垃圾回收相关知识点

文章目录 1. Java中对象有哪些引用类型&#xff1f;2. 有哪些基本的垃圾回收算法&#xff1f;3. 什么是分区收集算法&#xff1f;和分代收集什么区别&#xff1f;4. 什么是Minor GC、Major GC、Full GC?5. 什么情况下会触发Full GC&#xff1f; 1. Java中对象有哪些引用类型&a…

Linux 常用指令的使用

文章目录 1. 基础命令1&#xff09;ls2&#xff09;pwd3&#xff09;cd4&#xff09;touch5&#xff09;cat6&#xff09;mkdir7&#xff09;rm8&#xff09;cp9&#xff09;mv10&#xff09;more11&#xff09;less12&#xff09;head13&#xff09;tail14&#xff09;vim15&a…

《论文阅读》常识推理的生成知识提示

《论文阅读》常识推理的生成知识提示 前言简介相关知识模型构架Generated Knowledge PromptingKnowledge GenerationKnowledge Integration via Prompting推理阶段前言 你是否也对于理解论文存在困惑? 你是否也像我之前搜索论文解读,得到只是中文翻译的解读后感到失望? 小…

linux RVM安装使用

前言 RVM&#xff08;Ruby Version Manager&#xff09;是一个支持多版本Ruby的命令行程序&#xff0c;它有助于为开发和生产环境提供一致性可靠的Ruby版本。 它能够提供最新版本的Ruby&#xff0c;并管理多个版本&#xff0c;几乎在所有操作系统上都能安装和管理 Ruby。RVM 还…

RocketMQ之底层IndexFile存储协议

RocketMQ是一款高性能、高可靠、可伸缩的分布式消息中间件。在实现以上功能方面,RocketMQ采用了深度优化的存储设计方案。其中,底层IndexFile存储协议被认为是RocketMQ存储设计的关键,因此本篇文章将重点介绍RocketMQ底层IndexFile存储协议的实现机制及优缺点。 RocketMQ底…