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,一经查实,立即删除!

相关文章

C++零碎记录(三)

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

【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…

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.…

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…

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

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

C++新特性:智能指针

一 、为什么需要智能指针 智能指针主要解决以下问题&#xff1a; 1&#xff09;内存泄漏&#xff1a;内存手动释放&#xff0c;使用智能指针可以自动释放 2&#xff09;共享所有权指针的传播和释放&#xff0c;比如多线程使用同一个对象时析构问题&#xff0c;例如同样的数据…

C#,《小白学程序》第十八课:随机数(Random)第五,方差及标准方差(标准差)的计算方法与代码

1 文本格式 /// <summary> /// 《小白学程序》第十八课&#xff1a;随机数&#xff08;Random&#xff09;第五&#xff0c;方差及标准方差&#xff08;标准差&#xff09;的计算方法与代码 /// 方差 SUM(&#xff08;Xi - X)^2 ) / n i0...n-1 X Average of X[i] ///…

《DevOps实践指南》- 读书笔记(二)

DevOps实践指南 Part 2 从何处开始5. 选择合适的价值流作为切入点5.1 绿地项目与棕地项目5.2 兼顾记录型系统和交互型系统5.3 从最乐于创新的团队开始5.4 扩大 DevOps 的范围5.5 小结 6. 理解、可视化和运用价值流6.1 确定创造客户价值所需的团队6.2 针对团队工作绘制价值流图6…

【广州华锐互动】电厂三维数字孪生大屏的功能和优势

在工业互联网的背景下&#xff0c;电厂三维数字孪生大屏系统正在逐渐成为电力行业的重要技术。通过创建电厂的虚拟模型&#xff0c;这个数字孪生系统可以实现对实际电厂的实时监控&#xff0c;预测维护需求&#xff0c;优化运营效率&#xff0c;甚至在某些情况下&#xff0c;能…

jmeter 线程组 Open Model Thread Group 阶梯式压测、高峰流量压测

简介 Open Model Thread Group 是5.4.1 版本中引入的一个实验性线程组&#xff0c;可以弹性模拟负载测试。例如设置多个线程模式&#xff0c;再根据这些线程模式调整不同的并发数、暂停时间。由于Open Model Thread Group 是一个实验性线程组&#xff0c;可能会存在一些限制和不…

2.9 PE结构:重建导入表结构

脱壳修复是指在进行加壳保护后的二进制程序脱壳操作后&#xff0c;由于加壳操作的不同&#xff0c;有些程序的导入表可能会受到影响&#xff0c;导致脱壳后程序无法正常运行。因此&#xff0c;需要进行修复操作&#xff0c;将脱壳前的导入表覆盖到脱壳后的程序中&#xff0c;以…

【群智能算法改进】一种改进的鹈鹕优化算法 IPOA算法[2]【Matlab代码#58】

文章目录 【获取资源请见文章第5节&#xff1a;资源获取】1. 原始POA算法2. 改进后的IPOA算法2.1 随机对立学习种群初始化2.2 动态权重系数2.3 透镜成像折射方向学习 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节&#xff1a;资源获取】 1. 原始POA算法…

【JavaScript】在指定dom元素前面创建标签元素

一、基础操作过程 要在指定的DOM元素前面创建标签元素&#xff0c;有以下步骤&#xff1a; 获取指定的DOM元素&#xff1a;使用document.querySelector()或document.getElementById()等方法来获取指定的DOM元素。 const targetElement document.querySelector(#targetElement…

数字展厅有什么优势,一文了解数字展厅建设方案

引言&#xff1a; 在当今数字化风潮的席卷下&#xff0c;企业们正积极寻求创新的方式来吸引和互动他们的客户。数字展厅作为一种新型的虚拟宣传工具&#xff0c;已经开始引起广泛的关注。 一&#xff0e;什么是数字展厅&#xff1f; 数字展厅是一种基于虚拟现实&#xff08;V…

【前端】在Vue页面中引入其它vue页面 数据传输 相互调用方法等

主页面 home 从页面 headView 需求 在 home.vue 中引用 headView.Vue 方案: home.vue 代码: 只需要在home.vue 想要的地方添加 <headView></headView> <script>//聊天页面 import headView /view/headView.vueexport default {components: {headView},…