JavaScript 中的 change

什么是 change 事件?

change 事件是 HTML 表单元素的一种事件类型,当表单元素的值发生变化并且失去焦点时,该事件会被触发。常见的表单元素包括 <input><select><textarea>

适用元素

  • <input>(type 为 text、checkbox、radio 等)
  • <select>
  • <textarea>

基本使用

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Change Event Demo</title>
</head>
<body><form id="myForm"><label for="myInput">Input:</label><input type="text" id="myInput"><label for="mySelect">Select:</label><select id="mySelect"><option value="1">Option 1</option><option value="2">Option 2</option><option value="3">Option 3</option></select><label for="myTextarea">Textarea:</label><textarea id="myTextarea"></textarea><button type="submit">Submit</button></form><script src="app.js"></script>
</body>
</html>

 js

document.addEventListener('DOMContentLoaded', () => {const inputElement = document.getElementById('myInput');const selectElement = document.getElementById('mySelect');const textareaElement = document.getElementById('myTextarea');inputElement.addEventListener('change', (event) => {console.log('Input changed to:', event.target.value);});selectElement.addEventListener('change', (event) => {console.log('Select changed to:', event.target.value);});textareaElement.addEventListener('change', (event) => {console.log('Textarea changed to:', event.target.value);});
});

在上面的代码中,我们为每个表单元素添加了一个 change 事件监听器。当用户改变元素的值并且失去焦点时,事件会被触发,控制台会输出相应的信息。

change 事件的实际应用

实时表单验证

change 事件常用于实时表单验证。例如,我们可以在用户输入内容后,立即验证输入的有效性并给予反馈:

document.addEventListener('DOMContentLoaded', () => {const inputElement = document.getElementById('myInput');inputElement.addEventListener('change', (event) => {const value = event.target.value;const feedbackElement = document.getElementById('feedback');if (value.length < 3) {feedbackElement.textContent = 'Input must be at least 3 characters long.';} else {feedbackElement.textContent = '';}});
});

动态更新界面

change 事件也可以用于根据用户选择动态更新界面内容。例如,当用户选择一个选项时,显示对应的详细信息:

document.addEventListener('DOMContentLoaded', () => {const selectElement = document.getElementById('mySelect');const detailsElement = document.getElementById('details');const details = {'1': 'Details for Option 1','2': 'Details for Option 2','3': 'Details for Option 3'};selectElement.addEventListener('change', (event) => {const value = event.target.value;detailsElement.textContent = details[value] || 'No details available';});
});

注意事项

  1. changeinput 事件的区别

    • change 事件在元素失去焦点时触发,而 input 事件在元素的值每次发生变化时立即触发。
    • input 事件适用于需要实时更新的场景,例如搜索框的自动补全。
  2. 跨浏览器兼容性

    • change 事件在主流浏览器中均有良好的支持,但在某些旧版浏览器中可能存在细微差异。因此,建议在实际项目中进行充分的测试。

change 事件是一个非常有用的事件类型,特别适用于表单元素的值变化检测和处理。在实际开发中,合理使用 change 事件可以提升用户体验,提高表单交互的动态性和响应性。希望本文对你理解和使用 change 事件有所帮助。 

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

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

相关文章

基于DeepNLP AI Store真人点评和ShowCase分享社区-AI for Image Generator

来源 quora 社区: https://deepnlpaistore.quora.com/ github: https://rockingdingo.github.io/deepnlp/store/image_generator 内容 DeepNLP AI Store 网址&#xff1a;http://www.deepnlp.org/store/image-generator 网站针对图像生成类别 Image Generator下多个AI工具如 …

Spring MVC数据绑定和响应——复杂数据绑定(一)数组绑定

一、数组绑定的使用场景 在实际开发中&#xff0c;可能会遇到客户端请求需要传递多个同名参数到服务器端的情况&#xff0c;这种情况采用前面讲解的简单数据绑定的方式显然是不合适的。此时&#xff0c;可以使用数组来接收客户端的请求参数&#xff0c;完成数据绑定。 接下来…

CS与MSF的权限互相传递/mimikatz抓取windows 2012明文密码

目录 CS和MSF的简单介绍 Metasploit Cobalt Strike 1、CS权限传递到MSF 2、MSF权限传递到CS 3、使用mimikatz抓取明文密码 通过修改注册表用户重新登录后抓取明文密码 今天的任务是两个 一个是CS与MSF的权限互相传递一个是抓取windows2012的明文密码 那就分别来完成 …

云计算基础技术

云计算基础技术概览 计算类产品主要提供算力&#xff0c;支持业务运行&#xff0c;例如网站、办公软件、数据分析等计算能力&#xff0c;目前典型的产品主要是虚拟化和容器&#xff0c;在公有云上的云主机本质也是虚拟机。网络类产品主要满足资源的网络连通性和隔离&#xff0c…

软考初级网络管理员__软件单选题

1.如下图所示&#xff0c;在IE“Intemet选项”对话框的()选项卡中可指定电子邮件程序。 常规 内容 高级 程序 2.在Excel的A1单元格中输入函数“ROUND(1/3,3)”,按回车键之后&#xff0c;A1中的值为()。 1 1/3 0.34 0.333 3.在输入Word文档过程中&#xff0c;为了防止意…

Pinia的基本用法

Pinia的安装和引入 1.安装Pinia npm install pinia2. 在vue项目的main.js文件中引入pinia import { createApp } from vue import { createPinia } from pinia import App from ./App.vueconst pinia createPinia() const app createApp(App)app.use(pinia) app.mount(#ap…

日志打印中对容器(包括多级容器)的通用输出

在日志打印中&#xff0c;往往有打印一个数组、集合等容器中的每个元素的需求&#xff0c;这些容器甚至可能嵌套起来&#xff0c;如果每个地方都用for循环打印&#xff0c;将会特别麻烦。基于这种需求&#xff0c;作者尝试实现一个通用的打印函数SeqToStr()&#xff0c;将容器序…

线上民族传统服饰商城

摘 要 随着互联网的不断发展和普及&#xff0c;电子商务成为了人们生活中不可或缺的一部分。传统的线下购物方式逐渐被线上购物所取代&#xff0c;人们越来越习惯在互联网上购物。而民族传统服饰作为我国丰富多样的民族文化的重要组成部分&#xff0c;具有独特的艺术价值和商业…

unity VR Interaction Framework 创建新手势

提示&#xff1a;文章有错误的地方&#xff0c;还望诸位大神不吝指教&#xff01; 文章目录 前言一、新建物体&#xff0c;并添加必要组件二、添加抓取点三、查看手势的可视化样式四、制作新的手势1.点击编辑2.根据需求调节手指关节3.保存手势4. 使用创建的手势5.运行 总结 前言…

等保测评——安全通信网络——安全区域边界

安全通信网络 网络架构 a) 应保证网络设备的业务处理能力满足业务高峰期需要&#xff1b; b) 应保证网络各个部分的带宽满足业务高峰期需要&#xff1b; c) 应划分不同的网络区域&#xff0c;并按照方便管理和控制的原则为各网络区域分配地址&#xff1b; 应核查是否依据重…

远程过程调用协议gRPC及在go环境下的使用

1. 远程过程调用协议 1.1 定义 远程过程调用(Remote Procedure Call&#xff0c;PRC是一种进程间通信技术&#xff0c;它使得程序可以像调用本地函数一样调用远程服务器上的函数。RPC 屏蔽了底层的通信细节&#xff0c;让开发者能够更专注于业务逻辑&#xff0c;而无需关心网络…

无源电压继电器 JDY-1210AW 导轨安装 约瑟JOSEF

系列型号&#xff1a; JDY-1002AW电压继电器&#xff1b;JDY-1002B电压继电器&#xff1b; JDY-1110AW电压继电器&#xff1b;JDY-1110B电压继电器&#xff1b; JDY-1220AW电压继电器&#xff1b;JDY-1220B电压继电器&#xff1b; JDY-1100AW电压继电器&#xff1b;JDY-110…

服务器数据恢复—用raid6阵列磁盘组建raid5阵列如何恢复原raid数据?

服务器存储数据恢复环境&#xff1a; 华为OceanStor 5800存储&#xff0c;该存储中有一组由10块硬盘组建的raid6磁盘阵列&#xff0c;供企业内部使用&#xff0c;服务器安装linux操作系统EXT3文件系统&#xff0c;划分2个lun。 服务器存储故障&#xff1a; 管理员发现存储中rai…

JavaScript的学习之dom的查询(一)

一、获得元素 通过document对象调用&#xff1a; getElementById()&#xff1a;通过id属性获取一个元素节点对象getElementsByTagName()&#xff1a;通过标签名获取一组元素节点对象getElementsByName()&#xff1a;通过name属性来获取一组元素节点对象 核心学习代码 <scrip…

记录一次即将出现的钓鱼新方式

钓鱼通常是内网渗透过程中的最为常见的入口方式&#xff0c;但是随着蓝队人员溯源反制思路开阔&#xff0c;入侵排查能力提升&#xff0c;钓鱼也越来越困难&#xff0c;这里就记一种不同寻常的钓鱼方式。 pip install 的执行流程&#xff1a; 先获取到远端的服务器地址 url 比…

node.js 面试题 1

### 明天要去面试了 今天晚上突击一下node.js 什么是Node.js&#xff1f;它有什么特点&#xff1f; Node.js是一个基于Chrome V8引擎的JavaScript运行环境&#xff0c;它允许在服务器端运行JavaScript代码。它的特点包括单线程、非阻塞I/O、事件驱动等 …

dispatch_after

dispatch_after dispatch_after dispatch_after dispatch_after函数并不是延迟对应时间后立即执行block块中的操作&#xff0c;而是将任务追加到对应队列中&#xff0c;考虑到队列阻塞等情况&#xff0c;所以这个任务从加入队列到真正执行的时间是不准确的。 dispatch_after(…

Kubernetes CSI livenessprobe探活

Kubernetes CSI livenessprobe探活 要实现一个Kubernetes CSI的livenessprobe探活&#xff0c;可以有以下三种方法&#xff1a; HttpServer 1、在CSI中实现一个简单的HttpServer&#xff0c;暴露探活接口&#xff1b; GRPC探测 2、CSI镜像中&#xff0c;增加grpcurl命令&a…

单目标应用:基于吸血水蛭优化器(Blood-Sucking Leech Optimizer,BSLO)的微电网优化(MATLAB代码)

一、微电网模型介绍 微电网多目标优化调度模型简介_vmgpqv-CSDN博客 参考文献&#xff1a; [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 二、吸血水蛭优化器求解微电网 2.1算法简介 吸血水蛭优化器&#xff08;B…

【Java Web】Tomcat服务器

目录 一、Tomcat是什么 二、Tomcat安装 三、Tomcat相关目录 四、Web项目标准目录结构规范 五、Tomcat项目部署方式 六、IDEA关联本地Tomcat 七、HTTP协议 7.1 http的交互方式 7.1.1 http长连接和短连接 7.1.2 http1.1缓存机制 7.2 http数据报文格式 八、常见响应状态码 一、Tom…