js基础之事件监听案例入门

news2024/12/23 12:14:49

事件绑定

在这里插入图片描述

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <input type="button" id="but1" value="事件绑定1" onclick="on()">
    <!-- onclick 绑定一个函数 -->

    <input type="button" id="but2" value="事件绑定2">
    
</body>

<script>
    function on(){
        alert("按钮1被点击了")
    }

    document.getElementById('but2').onclick = function(){
        alert("按钮2被点击了")
    }
    // 通过id获取元素对象
</script>



</html>

效果图

在这里插入图片描述

常见事件

 参见事件有很多,这里只是抛砖引玉
在这里插入图片描述

详细的事件:
https://www.w3cschool.cn/htmltags/ref-eventattributes.html

事件监听案例

需求

1,要求灯泡关和开
2,要求输入离焦后显示为password类型
3,全选和发选功能的实现

代码和效果图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>常见事件案例</title>
</head>
<body>
    <img id="light" src="img/off.gif"> <br>
    <input type="button" value="点亮" onclick="on()"> <input type="button"  value="熄灭" onclick="off()">

    <br> <br>

    <input type="text" id="name" value="ITCAST" onfocus="decode()" onblur="encode()">
    <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()">

    <script>


        //1, 开灯和关灯
        //定义点亮
        function on(){

            // 获取img元素对象,然后设置src的值
            document.getElementById('light').src="img/on.gif";
        }

        //定义关灯
        function off(){
            var img = document.getElementById('light');
            img.src = "img/off.gif";

        }
        

        //2. 输入框聚焦后展示text类型,输入框离焦后显示password类型;
        function decode(){
            var type1 = document.getElementById("name");
            type1.type="text";

        }
        function encode(){
            var type2 = document.getElementById("name");
            type2.type="password";
            
        }


        //3, 全选和反选的实现
        function checkAll(){
            //获取所有复选框内容
            var hobbys = document.getElementsByName("hobby");

            //
            for (let i = 0; i < hobbys.length; i++) {
                const element = hobbys[i];
                element.checked = true;
                
            }


        }

        function reverse(){
            var hobbys = document.getElementsByName("hobby");

            for (let i = 0; i < hobbys.length; i++) {
                const element = hobbys[i];

                //type="checkbox",选择框设置是否选中
                element.checked = false;
                
            }
            

        }



    </script>
</body>
</html>

需求1开关点灯,获取元素替换图片
在这里插入图片描述

需求2离开输入框焦点显示password类型,获取元素替换类型
在这里插入图片描述

在这里插入图片描述

需求3,全选和反选,获取全部元素是个数组,遍历数组替换对应的值
在这里插入图片描述

参考文章

https://www.bilibili.com/video/BV1m84y1w7Tb

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

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

相关文章

子查询在SQL中的应用和实践

作者&#xff1a;CSDN-川川菜鸟 在SQL中&#xff0c;子查询是一种强大的工具&#xff0c;用于解决复杂的数据查询问题。本文将深入探讨子查询的概念、类型、规则&#xff0c;并通过具体案例展示其在实际应用中的用途。 文章目录 子查询概念子查询的类型子查询的规则实际案例分析…

Live800:客服人员的压力来自于哪些方面?企业如何减轻客服压力?

客服人员是企业中非常重要的一支队伍&#xff0c;他们承担着与客户直接沟通的重要任务。然而&#xff0c;客服工作并不是一项轻松的工作&#xff0c;他们常常面临着各种各样的压力。那么&#xff0c;客服人员的压力究竟来自哪些方面&#xff1f;企业又应该如何减轻客服人员的压…

Slurm集群管理系统

Slurm集群管理系统 Slurm&#xff08;Simple Linux Utility for Resource Management&#xff0c;https://slurm.schedmd.com/&#xff09;是一个开源的、容错的、高度可扩展的集群管理和作业调度系统&#xff0c;适用于大型和小型高性能计算&#xff08;HPC&#xff09;集群。…

小团队是否值得购买企业网盘的策略分析

企业网盘的风越来越大&#xff0c;对于小团队而言&#xff0c;真的值得购入企业网盘吗&#xff1f;在购买企业服务之前&#xff0c;首先需要考虑的就是自身的需求。 您可以根据以下几个方面判断自己的团队是否真的需要购买企业网盘&#xff1f; 1、办公需求&#xff1a;企业网…

MES管理系统在生产计划排程中的应用与价值

随着制造业市场竞争的日益激烈和客户需求的多样化&#xff0c;传统的生产计划排程方式已经无法满足企业的需求。为了提升生产计划的效率和准确性&#xff0c;越来越多的企业开始引入MES管理系统这一先进的工具。那么&#xff0c;MES管理系统到底是什么&#xff0c;又是如何解决…

ES6之Map对象

ES6提供了 Map数据结构。它类似于对象&#xff0c;也是键值对的集合。但是“键”的范围不限于字符串&#xff0c;各种类型的值&#xff08;包括对象&#xff09;都可以当作键。 创建方法 let m new Map()console.log(m)Map的方法 1.set( ) 添加元素 接收两个参数&#xff0c…

Unity使用打成图集的Sprite作为模型贴图使用的问题

大家好&#xff0c;我是阿赵。   有时候用Unity引擎做项目的时候&#xff0c;会遇到这样的需求&#xff0c;美术做了一些模型或者特效&#xff0c;然后策划想在游戏运行的时候&#xff0c;读取一些游戏图标放在特效或者模型上面当做贴图使用。   这个需求实现起来很简单&am…

Vcenter 6.7 VCSA证书过期问题处理

1. 故障现象 2022年10月25日&#xff0c;登陆VC报错。 按照报错信息&#xff0c;结合官方文档&#xff0c;判断为STS证书过期导致。 vCenter Server Appliance (VCSA) 6.5.x, 6.7.x or vCenter Server 7.0.x 在/var/log/vmware/vpxd-svcs/vpxd-svcs.log看到类似报错: ERRO…

【面试题】 你知道怎么调试线上代码吗?

前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 这篇文章来分享下如何调试线上的代码 什么时候需要调试线上的代码呢&#xff0c;当线上代码出现 bug 的时候&#xff0c;需要定位问题&#xff0c;就需…

可视化监管云平台EasyCVR宠物粮食食品厂智能视频监控方案

由于我国养宠物群体的不断膨胀&#xff0c;宠物市场也占据了经济的很大一部分&#xff0c;宠物做为人类的好朋友&#xff0c;可以给人们带来极高的精神抚慰&#xff0c;作为“毛孩子”家长&#xff0c;爱宠人士自然不会亏待自家宠物&#xff0c;都会选择最好的口粮以供宠物食用…

Mysql主从集群搭建——基于docker-compose一键部署

搭建初衷 本身自己就是开发这类应用的工作者&#xff0c;一个私有库还是很有必要的。无论是公司项目还是私人项目都可以用到&#xff0c;不用担心忘记同步导致的数据丢失统一管理所有docker应用的数据&#xff08;如果容器可以连接mysql的话&#xff09;也方便随时修改数据结构…

FTP协议(PORT和PASV模式)

目录 FTP协议基本概念 PORT主动模式工作流程 PORT工作过程 PORT工作报文 PASV被动模式工作流程 PASV工作过程 PASV工作报文 FTP协议基本概念 FTP文件传输协议&#xff0c;用于在互联网上进行文件传输&#xff0c;基于C/S架构 FTP的连接模式 FTP采用双TCP连接方式 控制连…

vue3项目中前端导出word文档和导出excel文档

一、导出word文档 参考文章https://blog.csdn.net/qq_53722480/article/details/130017092 1、使用到的包如下&#xff1a; "docxtemplater": "^3.42.4", "file-saver": "^2.0.5", "jszip-utils": "^0.1.0", &q…

分布式锁常见实现方案

分布式锁常见实现方案 基于 Redis 实现分布式锁 如何基于 Redis 实现一个最简易的分布式锁&#xff1f; 不论是本地锁还是分布式锁&#xff0c;核心都在于“互斥”。 在 Redis 中&#xff0c; SETNX 命令是可以帮助我们实现互斥。SETNX 即 SET if Not eXists (对应 Java 中…

前端Object的基础使用

Object.assign() 通过复制一个或多个对象来创建一个新的对象。旧对象旧对象…新对象 console.log(学习让人进步, Object.assign({name:zhangsan},{age:18})) Object.create() 使用指定的原型对象和属性创建一个新对象。旧对象新属性新对象 这个是把属性挂到原型上&#xff0c;…

软件产品研发过程 - 二、概要设计

软件产品研发过程 - 概要设计 相关系列文章 软件产品研发管理经验总结-管理细分 软件研发管理经验总结 - 事务管理 软件研发管理经验总结 - 技术管理 软件产品研发过程 - 二、概要设计 目录 软件产品研发过程 - 概要设计一、概要设计概述二、概要设计过程1、模块概述2、应用场景…

设计字体必备工具推荐:5款好用的字体设计软件

字体设计作为设计中的一个重要模块&#xff0c;如果字体软件选择正确&#xff0c;将给字体设计工作带来极大的便利&#xff0c;易于使用的字体设计软件&#xff0c;可以创造出优秀的排版设计。在日常工作中&#xff0c;设计师可能会在字体网站上下载字体&#xff0c;然后安装字…

记录 | linux静态库和动态库的理解

hello.cpp&#xff1a; #include <cstdio>void hello() {printf("Hello, world!\n"); }main.cpp&#xff1a; #include <cstdio>void hello();int main() {hello();return 0; }静态库编译配置&#xff1a; cmake_minimum_required(VERSION 3.12) proj…

【AI数字人-论文】DINet论文解读

DINet 方法形变修补损失函数perception lossGAN lossLip-sync loss 实现细节参考 如下图所示&#xff0c;人脸视觉配音&#xff08;Face visually dubbing&#xff09;旨在根据输入的驱动音频同步源视频中的嘴型&#xff0c;同时保持身份和头部姿势与源视频帧一致。然而在少样本…

DTCC2023大会-基于eBPF观测数据库-附所有PPT下载链接

DTCC2023大会-基于eBPF观测数据库-附所有PPT下载链接 8月16日—18日,第14届中国数据库技术大会(DTCC-2023)在北京国际会议中心举行。聚好看在大会上首次发布基于eBPF观测数据库性能的产品DBdoctor&#xff0c;受到了业界广泛的关注。近期几位业内同仁过来要大会的PPT&#xff…