JavaScript事件处理

表单事件

表单事件在HTML表单中触发 (适用于所有 HTML 元素,但该HTML元素需在form表单内):

案例演示1:当文本框获取焦点,文本框背景为红色,当文本框失去焦点,文本框背景为黄色

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title></title>
</head>
<body>
<form><input type="text" id="text">
</form><!-- 在这里写JavaScript代码,因为JavaScript是由上到下执行的 -->
<script>var textInput = document.getElementById("text");/* 当文本框获取焦点,文本框背景为红色 */textInput.onfocus = function () {this.style.background = "red";};/* 当文本框失去焦点,文本框背景为绿色 */textInput.onblur = function () {this.style.background = "green";};
</script>
</body>
</html>

注意:这里为什么要用this,你不用this也可以,就直接textInput.style.background = "red";也不是不可以的,但是方法的调用规则就是谁调用this,this就指向谁,这样我们就可以简化代码了

案例演示2:当文本框内容改变时,鼠标离开文本框,自动将文本框的内容输出到控制台

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title></title>
</head>
<body>
<form><input type="text" id="text">
</form><!-- 在这里写JavaScript代码,因为JavaScript是由上到下执行的 -->
<script>var textInput = document.getElementById("text");/* 当文本框内容改变时,鼠标离开文本框,自动将文本框的内容输出到控制台 */textInput.onchange = function () {console.log(this.value);};
</script>
</body>
</html>

 案例演示3:当文本框内容改变时,立即将改变的内容输出到控制台

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title></title>
</head>
<body>
<form><input type="text" id="text">
</form><!-- 在这里写JavaScript代码,因为JavaScript是由上到下执行的 -->
<script>var textInput = document.getElementById("text");/* 当文本框内容改变时,立即将改变的内容输出到控制台 */textInput.oninput = function () {console.log(this.value);};
</script>
</body>
</html>

案例演示4:如果单击“submit”,则不填写文本字段,将发生警报消息

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title></title>
</head>
<body>
<form><input type="text" id="text" required><input type="submit" value="submit">
</form><!-- 在这里写JavaScript代码,因为JavaScript是由上到下执行的 -->
<script>var textInput = document.getElementById("text");/* 如果单击“submit”,则不填写文本字段,将发生警报消息 */textInput.oninvalid = function () {console.log("请您完善表单内容!");};
</script>
</body>
</html>

案例演示6:当提交表单的时候,在控制台输出“表单提交”

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title></title>
</head>
<body>
<form id="myform"><input type="submit" id="submit">
</form><!-- 在这里写JavaScript代码,因为JavaScript是由上到下执行的 -->
<script>var myform = document.getElementById("myform");/* 当提交表单的时候,在控制台输出“表单提交” */myform.onsubmit = function () {console.log("表单提交");return false;/* 用来阻止表单提交的,你不写它会跳转请求 */};
</script>
</body>
</html>

setTimeout() 方法:延时器

  • 第一个参数是要执行的函数。
  • 第二个参数指示执行之前的毫秒数。
  • 案例演示:单击按钮,等待 3 秒,然后控制台会输出 "Hello"
    <!DOCTYPE html>
    <html>
    <head><meta charset="UTF-8"><title></title>
    </head>
    <body>
    <button id="btn">按钮</button><!-- 在这里写JavaScript代码,因为JavaScript是由上到下执行的 -->
    <script>var btn = document.getElementById("btn");btn.onclick = function () {// 创建延时器var timer = setTimeout(function () {console.log("Hello");}, 3000);// 清除延时器// clearTimeout(timer);        };
    </script>
    </body>
    </html>
    

    String对象

  • length属性演示:可以用来获取字符串的长度
  • var str = "Hello,World!";
    console.log(str.length);
    

    indexof()方法演示:该方法可以检索一个字符串中是否含有指定内容,如果字符串中含有该内容,则会返回其第一次出现的索引,如果没有找到指定的内容,则返回-1,可以指定一个第二个参数,指定开始查找的位置

  • var str = "Hello,World!";
    console.log(str.indexOf("o"));
    console.log(str.indexOf("o", 5));
    

    lastIndexOf()方法演示:该方法的用法和indexOf()一样,不同的是indexOf是从前往后找,而lastIndexOf是从后往前找,也可以指定开始查找的位置

  • var str = "Hello,World!";
    console.log(str.lastIndexOf("o"));
    console.log(str.lastIndexOf("o", 5));
    

  •  substr()方法演示:该方法用来截取字符串

    参数:

  • 第一个参数:截取开始位置的索引
  • 第二个参数:截取的长度
    var str = "Hello,World!";
    var result = str.substr(6, 6);
    console.log(result);
    
  • substring()方法演示:可以用来截取一个字符串

  • 第一个参数:开始截取位置的索引(包括开始位置)

  • 第二个参数:结束位置的索引(不包括结束位置),如果省略第二个参数,则会截取到后边所有的
  • var str = "Hello,World!";
    var result = str.substring(1, 4);
    console.log(result);
    result = str.substring(1);
    console.log(result);
    result = str.substring(1, -1);
    console.log(result);
    

 split()方法演示:该方法可以将一个字符串拆分为一个数组,需要一个字符串作为参数,将会根据该字符串去拆分数组

var str = "Hello,World!";
var result = str.split(",");
console.log(result);

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

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

相关文章

【Java】x-easypdf: 一种简单易用的PDF处理库

引言 在处理和生成PDF文档时&#xff0c;有许多库可供选择。其中&#xff0c;x-easypdf是一种简单易用的PDF处理库&#xff0c;可以帮助开发人员轻松地创建、编辑和操作PDF文档。本文将介绍x-easypdf的基本概念、安装方法、主要功能以及使用示例。 安装x-easypdf 要使用x-ea…

C++零碎记录(三)

作者&#xff1a;小王同学在积累 链接&#xff1a;https://www.zhihu.com/question/437657370/answer/1692846096 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 5. 构造函数和析构函数 5.1 构造函数和析构函数的…

【PyCharm Community Edition】:串口开发

串口开发 pyserial导入端口检查&#xff0c;获取串口名称&#xff1a;uartDevice自定义串口服务函数SerialMonitor.py导入SerialMonitor.py定义的接口&#xff0c;打开串口&#xff0c;并发送相关数据延伸阅读 pyserial导入 方法1&#xff1a; CMD指令 pip install pyserial方…

【VR】Network Manager HUD

&#x1f4a6;本专栏是我关于VR开发的笔记 &#x1f236;本篇是——Network Manager HUD Network Manager HUD组件 简介基础知识 简介 网络管理器 HUD是一种快速启动工具&#xff0c;可帮助您立即开始构建多人游戏&#xff0c;而无需首先构建用于游戏创建/连接/加入的用户界面…

SpotBugs代码检查:在整数上进行没有起任何实际作用的位操作(INT_VACUOUS_BIT_OPERATION)

https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#int-vacuous-bit-mask-operation-on-integer-value-int-vacuous-bit-operation 在整数上进行无用的与、异或操作&#xff0c;实质上没有做任何有用的工作。 例如&#xff1a;v & 0xffffffff 再例如&…

聚观早报|小米14渲染图曝光;蚂蚁金融大模型正式发布

【聚观365】9月9日消息 小米14渲染图曝光 蚂蚁金融大模型正式发布 路特斯推出全电动轿车Emeya 上汽集团8月整车销量42.3万辆 ChatGPT网站流量连续三个月下滑 小米14渲染图曝光 高通旗下全新一代旗舰芯片骁龙8 Gen3将于10月24-26日举办的骁龙技术峰会上亮相&#xff0c;相…

《protobuf》基础语法

文章目录 消息体定义字段规则编译选项实战&#xff1a;编写一个通讯录文件 消息体定义 文件内定义 message Phone {string number 1; }message PeopleInfo {string name 1;int32 age 2;Phone phone 3; }内嵌定义 message PeopleInfo {string name 1;int32 age 2;messa…

motionface respeak视频一键对口型

语音驱动视频唇部动作和视频对口型是两项不同的技术&#xff0c;但是它们都涉及到将语音转化为视觉效果。 语音驱动视频唇部动作&#xff08;语音唇同步&#xff09;&#xff1a; 语音驱动视频唇部动作是一种人工智能技术&#xff0c;它可以将语音转化为实时视频唇部动作。这…

LeetCode 2651. 计算列车到站时间:取模

【LetMeFly】2651.计算列车到站时间 力扣题目链接&#xff1a;https://leetcode.cn/problems/calculate-delayed-arrival-time/ 给你一个正整数 arrivalTime 表示列车正点到站的时间&#xff08;单位&#xff1a;小时&#xff09;&#xff0c;另给你一个正整数 delayedTime 表…

QT多语言冷实现以及注意事项

目录 1 引言2 实现步骤3 问题4 工具 1 引言 冷实现需要重启软件才会刷新软件显示资源。 2 实现步骤 创建Qt多语言翻译文件.ts&#xff0c;比如命名为Project_zh.ts。 可以通过Qt Creator直接创建翻译文件&#xff0c;也可以通过VS QT Tools进行生成。如果是Qt Creator工程。…

Vue3_pinia使用

安装 cnpm install pinia 新建store目录&#xff0c;在store目录下创建loginUser.js import { defineStore } from pinia import {ref} from vue export const userLoginStore defineStore(loginUser, () > {let loginUserInfo ref({})function setUserInfo(data){this.…

网络安全攻击的常见类型

网络安全攻击的常见类型包括以下几种&#xff1a; 木马程序&#xff08;Trojan Horse&#xff09;&#xff1a;木马程序是一种假扮成正常程序的恶意软件&#xff0c;一旦被安装或执行&#xff0c;攻击者就能够远程控制被感染的系统&#xff0c;进行非法操作。 计算机病毒&…

mac pro 查看隐藏文件夹

在Mac上查看隐藏文件夹可以使用以下方法&#xff1a; 使用终端&#xff1a; 打开终端应用程序&#xff0c;位于“应用程序”文件夹的“实用工具”子文件夹中。 在终端中&#xff0c;输入以下命令&#xff0c;然后按回车键&#xff1a; defaults write com.apple.finder AppleS…

ASP.NET Core 中的 Razor Pages

Razor Pages Razor Pages 是基于页面的 ASP.NET Core Web App 架构。 相比 MVC 模式&#xff0c;Razor Pages的生产效率更快。 Razer Pages 需要两个中间件&#xff1a; builder…Services.AddRazorPages 添加 Razor Pages servicesapp.MapRazorPages 添加 Razor Pages endpo…

gis:读取shp文件

public static void readShpFile(String shpPath) {File shpFile new File(shpPath);try {// 通过给定的shapefile路径创建ShapefileDataStore对象ShapefileDataStore shapefileDataStore new ShapefileDataStore(shpFile.toURI().toURL());// 设置编码为UTF-8&#xff0c;以…

Vue中如何实现城市3D分布图

cityfenbu.vue <template><div ><el-card class"seriesmap-box-card"><div slot"header" class"clearfix"><span>城市分布图 (点击可下钻到县)</span></div><div><div class"series-ma…

【科研论文配图绘制】task8 总结与回顾

task8 总结与回顾&#xff0c;这次组队学习大致掌握了常见python绘图工具包的使用&#xff0c;整体上和matlab的语法类似&#xff0c;也是用画布形式控制元素的绘制。印象深刻的是seaborn的使用&#xff0c;在之前做波士顿房价预测时候先接触了seaborn绘制的散点图、直方图和核…

【C++从0到王者】第二十八站:二叉搜索树的应用

文章目录 前言一、Key模型二、Key/Value模型总结 前言 二叉搜索树的在现实世界的应用很广泛&#xff0c;比如Key模型&#xff0c;Key-Value模型就是常见的两种的模型 一、Key模型 K模型&#xff1a;K模型即只有key作为关键码&#xff0c;结构中只需要存储Key即可&#xff0c…

Java是如何扩展加载Jar包?

java -jar参数运行应用时classpath的设置方法 当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候&#xff0c;你会发现如何设置-classpath参数应用程序都找不到相应的第三方类&#xff0c;报ClassNotFound错误。实际上这是由于当使用-jar参数运行的时候&#xf…

适用于Linux的Windows子系统(系统安装步骤)

目录 前言 一、WSL2安装 1.Microsoft参考文档&#xff08;推荐选择旧版 WSL 的手动安装步骤&#xff09; 2.开启子系统 二、Ubuntu安装 1.在Microsoft Store中获取ubuntu 2.运行ubuntu配置管理信息 3.ubuntu换源 三、WSL 与 Ubuntu的一些基础使用命令 四、Windows Terminal终端…