JavasScript 的对象事件的处理程序

1、鼠标事件

常用的鼠标事件有MouseDown、MouseUp、MouseMove、MouseOver、MouseOut、Click、Blur及Focus等事件。

mousedown:按下鼠标键时触发

 mouseup:抬起鼠标键时触发

 click:单击鼠标时触发

 dblclick:在同一个元素上双击鼠标时触发

 mouseenter:鼠标进入一个节点时触发,进入子节点不会触发这个事件

 mouseleave:鼠标离开一个节点时触发,离开父节点不会触发这个事件

 wheel:在浏览器窗口滚动鼠标滚轮时触发

代码:

 // 为某个节点添加事件监听器box = document.getElementById("b1");box.addEventListener( "mousedown",  function(){console.log("你的鼠标按下了!");} );box.addEventListener( "mouseup",  function(){console.log("你的鼠标抬起了!");} );box.addEventListener( "click",  function(){console.log("你的鼠标单击了!");} );box.addEventListener( "dblclick",  function(){console.log("你的鼠标双击了!");} );box.addEventListener( "mouseenter",  function(){console.log("你的鼠标进入目标元素了!");} );box.addEventListener( "mouseleave",  function(){console.log("你的鼠标离开目标元素了!");} );// 为浏览器窗口对象添加事件监听器:以滚动监听为例window.addEventListener( "wheel",  function(){console.log("你的鼠标滚轮正在滚动...");} );
box.addEventListener( "mousedown",function(){console.log("鼠标按下事件已触发");});box.addEventListener( "mouseup",function(){console.log("鼠标抬起事件已触发");});box.addEventListener( "click",function(){console.log("鼠标单击事件已触发");});box.addEventListener( "dblclick",function(){console.log("鼠标双击事件已触发");});box.addEventListener( "mouseenter",function(){console.log("鼠标进入节点事件已触发");});box.addEventListener( "mouseleave",function(){console.log("鼠标离开节点事件已触发");});// 窗口监听鼠标滚动window.addEventListener( "wheel",function(){console.log("鼠标滚动事件已触发");});

结果:

2、键盘事件

常用的键盘事件有KeyDown、KeyPress、KeyUp、Select 和Change事件。

1.KeyDown事件

在键盘上按下一个键时,发生KeyDown事件。在这个事件发生后,由JavaScript自动调用 onKeyDown 句柄。该句柄适用于测览器对象document、图像、超链接及文本区域。

2.KeyPress事件

在键盘上按下一个键后且字符被显示出来之前发生KeyPress事件。在这个事件发生后,由JavaScript 自动调用onKeyPress 句柄。该甸柄适用于浏览器对象document、图像、超链接及文本区域。KeyDown事件总是发生在KeyPress事件之前。如果这个事件处理函数返回false值,就不会产生KeyPress事件。

3.KeyUp事件

在键盘上按下一个键,再释放这个键的时候发生KeyUp事件。在这个事件发生后由JavaScript 自动调用onKeyUp句柄。该句柄适用于浏览器对象document、图像、超链接及文本区域。

一个典型的按键会产生所有这3种事件,依次是KeyDown、KeyPress、按键释放时的KeyUp。KeyDown 触发后,不一定触发KeyUp。当KeyDown 按下并拖动鼠标,那么将不会触发KeyUp事件。

4.Select事件

选定文本输入框或文本输入区域的一段文本后,发生Select事件。在Select事件发生后,由JavaScript 自动调用onSelect 句柄。onSelect句柄适用于文本输入框以及文本输入区。

5)Change 事件

一个选择框、文本输入框或者文本输入区域失去焦点,其中的值又发生改变时,就会发生Change事件。在Change事件发生时,由 JavaScript 自动调用onChange句柄。Change事件是一个非常有用的事件,它的典型应用是验证一个输入的数据。
 

代码:

 <title>键盘事件</title><style>#output {  margin-top: 20px;  padding: 10px;  border: 1px solid #ccc;  width: 300px;  height: 100px;  /*  超出这个盒子的内容,以纵向滚动的方式展示 */overflow-y: scroll;/* 保持空白符和换行符 */ white-space: pre-wrap; }  </style>  
</head>  
<body>  <div id="output"></div>  <script>  // keydown:按下键盘时触发// keyup:抬起键盘时触发// 获取显示按键信息的div节点const outputDiv = document.getElementById('output');  document.addEventListener( "keydown",function(event){console.log(`有键盘被按下: ${event.key}`);})// 监听整个文档的keydown事件  document.addEventListener('keydown',function(event) {  // 获取按键的代码(包括数字键和特殊键,如箭头键、功能键等)   const keyCode = event.key; // 拼凑输出字符串const message = `键盘 ${keyCode}  被按下`; // 将拼凑好的字符串,添加到输出区域  outputDiv.textContent += message + '\n';  outputDiv.scrollTop = outputDiv.scrollHeight;  // 自动滚动到输出区域的底部 // clientHeight 获取元素高度包括 padding 部分,但是不包括 border/margin // clientWidth 获取元素宽度包括 padding 部分,但是不包括 border/margin // scrollHeight 元素总高度,它包括 padding ,但是不包括 border/margin,  包括溢出的不可见内容// scrollWidth 元素总宽度,它包括 padding ,但是不包括 border/margin ,  包括溢出的不可见内容 // scrollLeft 元素的水平滚动条向右滚动的像素数量// scrollTop 元素的垂直滚动条向下滚动的像素数量});  </script>  

 结果:

3.表单对象

form 对象(称表单对象或窗体对象)提供一个让客户端输入文字或选择的功能。例如单选按钮、复选框、选择列表等由<form>标签组构成,JavaScript 自动为每一个表单建立个表单对象,并可以将各个子元素中用户提供的信息送至服务器进行处理,当然也可以在JavaScript 脚本中编写程序,对数据进行处理。

表单中的基本元素(子对象)有按钮、单选按钮、复选按钮、提交按钮、重置按钮、文本框等。在JavaScript 中婴访问这些基本元素,必须通过对应特定的表单元素的名字来实现.每一个元素主要是通过该元素的属性或方法来引用。注意,有些属性无法在页面设计时使用,只能在编程代码中使用。

调用form对象的一般格式为

<form name="表单名"action="URL"...>

<input type="表项类型"name="表项名”value="默认值”事件="方法函数"….>

</form>

1.Text单行单列输人元素

功能:对Text标识中的元素实施有效的控制。

属性:name,设定提交信息时的信息名称;value,用于设定出现在Text文本框中的value 值;defaultvalue,设定Text元素的默认值。

方法:blur(),当前焦点移出;select(),高亮文字。

事件:onFocus,当Text 获得焦点时,产生该事件;onBlur,当元素失去焦点时,产生该事件;onSelect,当文字被高亮显示后,产生该文件;onChange,当Text元素内的值改变时,产生该文件。

2.Textarea多行文本域输人元素

功能:对Textarea中的元素进行控制。

属性:name,设定提交信息时的信息名称;value,设定出现在Textarea多行文本域中的value值;defaultvalue,元素的默认值。

方法:Blur(),失去焦点;Select(),高亮文字。

事件:onBlur,当失去输入焦点后产生该事件;onFocus,当输入获得焦点后,产生该文件;onChange,当文字值改变时,产生该事件;onSelect,高亮文字,产生该文件。

3.Select 选择元素

功能:实施对下拉选择元素的控制。

属性:name,设定提交信息时的信息名称;value,用于设定Select下拉列表框中的value 值;length,对应Select 中的length;options,组成多个选项的数组;SelectIndex,指明

个选项;Text,选项对应的文字;Selected,指明当前选项是否被选中;Index,指明当前选

系的位置(索引值);defaultSelected,默认选项。

事件:onBlur,当Select 选项失去焦点时,产生该事件;onFocus,当Select 获得焦点时,

产生该事件;onChange,选项状态改变后,产生该事件。

4.Button 按钮

功能:对Button按钮的控制。

属性:name,设定提交信息时的信息名称,对应文档中Button的name;value,设定当

前按钮上显示的value值。

方法:Click(),该方法类似于单击一个按钮。

事件:onClick,当单击Button按钮时,产生该事件。

5.Checkbox复选框

功能:实施对一个具有复选框中元素的控制。

属性:name,设定提交信息时的信息名称;value,用于Checkbox复选框旁边显示的

value 信息;Checked,该属性设定复选框的选中状态,Checked值为被选中。

方法:Click():使得鼠标单击复选框的某一个项。事件:onClick:当复选框被选中时,产生该事件。

6.Password口令

功能:对具有口令输入模式的文本框元素的控制。

属性:name,设定提交信息时的信息名称,对应HTML文档中 Password中的name;value,用于设定出现在 Password文本框中的密文模式的 value 值;defaultvalue,Password文本框中的密文模式的默认值。

方法:Select(),高亮口令文本;Blur(),失去 Passward焦点;Focus(),获得 Password焦点。

7.Submit 提交元素

功能:对一个具有提交功能按钮的控制。

属性:name,设定提交信息时的信息名称,对应HTML文档中Submit;value,用于设

定提交按钮上显示的value值。

方法:Click(),相当于单击Submit 按钮。

事件:onClick,当单击该按钮时,产生该事

代码:

<body><!-- 简单的HTML表单 -->  <form id="myForm" >  姓名: <input type="text" id="name" value="在此处输入你的姓名">  <br>  邮箱: <input type="email" id="email" value="在此处输入你的邮箱">  <br>  <input type="submit" value="提交"><input type="reset" value="重置">  
</body>
<script>// 获取表单节点const form = document.getElementById('myForm');  // 添加“表单提交”事件监听器  form.addEventListener('submit', function(event) {  event.preventDefault();   // 阻止表单的“默认提交行为”// 弹出警告框(在实际应用中,你可能会在这里进行AJAX请求或其他处理)  alert('表单提交按钮被按下! (但默认提交行为被截止了)');  // 你可以在这里添加其他代码来处理表单数据  // 例如,获取输入值:  const name = document.getElementById('name').value;  const email = document.getElementById('email').value;  console.log('Name:', name);  console.log('Email:', email);  }); // 添加表单重置事件监听器  form.addEventListener('reset', function(event) {  // 弹出警告框alert('表单已经重置! ');  });// 1.获取姓名输入框节点const inputElement = document.getElementById('name'); // 2.为表单的姓名输入框添加 select 选中事件监听器  inputElement.addEventListener('select', function(event) {  console.log('选中的文本范围:', event.target.selectionStart, event.target.selectionEnd);  //打印选中文本的起始索引和结束索引// 注意: selectionEnd 属性返回的是选择范围的结束位置的下一个字符的索引const selectedText = inputElement.value.substring(event.target.selectionStart, event.target.selectionEnd);  console.log('已选中文本:', selectedText);  });</script>
</html>

 

 


 

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

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

相关文章

华为云安装docker

docker_docker-compose_install: 代替官网的一键安装脚本&#xff0c;使用docker包进行离线安装 bash <(curl -sL https://raw.githubusercontent.com/1scripts/docker_docker-compose_install/main/quick_install.sh) 华为镜像&#xff1a; https://console.huaweicloud.…

如何实用穿山甲APP搭建你的广告联盟?

在当下蓬勃兴盛的移动互联网范畴&#xff0c;广告联盟穿山甲无疑堪称一个具备深远影响力的关键平台。它系由在科技领域声名远扬的字节跳动悉心打造并予以推出&#xff0c;其创建的初衷便是矢志为众多的开发者和广告主精心构筑一个高效能、精准化且极具价值的广告投放与变现服务…

【Python实战案例】爬虫项目实例(附赠源码)

文章目录 声明安装必要的库项目结构技术细节小结 声明 请您遵守网站的robots文件规定&#xff0c;本文目的只是做学习交流使用&#xff0c;包括多个模块&#xff0c;例如数据存储、日志记录、错误处理、多线程或异步请求 安装必要的库 pip install requests beautifulsoup4 sq…

PL/SQL developer debug 方法及存储过程等

文章目录 打开 PL/SQL&#xff0c;找到 fun右键 fun&#xff0c;选择【添加调试信息(U)】右键 fun&#xff0c;选择【查看(O)】在 fun 中需要调试的位置打上断点右键 fun&#xff0c;选择【测试(X)】点击执行再点击执行进入断点 执行结果 打开 PL/SQL&#xff0c;找到 fun 右键…

[python] 如何debug python脚本中C++后端的core dump

文章目录 Debug过程Reference Debug过程 另外&#xff1a;对于core dump: gdb版本是>7&#xff0c;gdb从版本7开始支持对Python的debug。确保你的系统中安装了 GDB 调试器和对应版本的 Python 调试信息包&#xff08;例如 python-dbg 或 python-debuginfo&#xff09;。 #…

51单片机 定时器详解

51单片机定时器详解 在 51 单片机中&#xff0c;定时器/计数器&#xff08;Timer/Counter&#xff09;是一个非常重要的功能模块&#xff0c;用于处理定时、计数和事件触发等任务。定时器可以在应用程序中产生周期性中断&#xff0c;常用于精确的时间延迟、事件计数等场合。本…

利用 Avalonia UI 构建 Blazor 混合应用程序

Blazor 是一个 .NET 前端框架&#xff0c;用于仅使用 .NET 技术构建 Web 应用程序。2021 年&#xff0c;Blazor 扩展到桌面端&#xff0c;推出了 Blazor Hybrid&#xff08;混合&#xff09;&#xff0c;使开发者可以在桌面平台上使用已有的技能。 Blazor 混合应用程序是传统的…

为什么要学习 Java 编程

1991 年&#xff0c;Sun Microsystems 创造了历史。 当时的目标是设计一种用于电视机顶盒的编程语言。 James Gosling&#xff08;Java 之父&#xff09;本人可能从未预料到&#xff0c;他即将为 IT 行业的未来奠定基础。 Java 以其简洁易读的代码形式和复杂的面向对象编程语…

Bootstrap 5 表格

Bootstrap 5 表格 引言 Bootstrap 5 是目前最流行的前端框架之一,它提供了一套丰富的组件和工具,帮助开发者快速构建响应式、移动优先的网页。在本文中,我们将重点探讨 Bootstrap 5 中的表格组件,包括其基本用法、样式定制以及高级功能。 基本表格 在 Bootstrap 5 中,…

uniapp MD5加密

安装&#xff1a; npm install js-md5 -D 引入&#xff1a; import Md5 from js-md5 需求加密一个对象&#xff0c; login_form: {openId: 123456789,phone: ,scenario: 656677,phoneSessionKey: ,openIdSessionKey: ,timeStamp: , }, //10位时间戳&#xff08;秒&#xff09;…

K-M算法(图像凭借特征点匹配)

K-M算法&#xff0c;也被称为匈牙利算法。 二分图匹配算法&#xff0c;K-M也可以应用到图像拼接上的特征点匹配。 其主要利用两个可行顶标的调节以及等价子图的生成&#xff0c;从而加权二分图退化成无权二分图&#xff0c;最后利用寻求增广矩阵来求解无权二分图的最佳匹配。 先…

ELK-ELK基本概念_ElasticSearch的配置

文章目录 一、什么是ELK&#xff1f;有什么用&#xff1f;ELK是什么&#xff1f;ElasticsearchLogstashKibana ELK的作用 二、ElasticSearch的安装与基本配置为何需要依赖JDK&#xff1f;使用yum install java-11-openjdk和使用Oracle官网提供的jdk的rpm包安装JDK的区别 参考资…

怎么查看navicat的数据库密码

步骤1:打开navicat连接数据库工具&#xff0c;顶部的文件栏-导出结果-勾选导出密码-导出 步骤2&#xff1a;导出结果使用NotePad或文本打开&#xff0c;找到&#xff0c;数据库对应的的Password"995E66F64A15F6776“”的值复制下来 <Connection ConnectionName"…

linux驱动-i2c子系统框架学习(1)

可以将整个 I2C 子系统用下面的框图来描述&#xff1a; 可以将上面这一 I2C 子系统划分为三个层次&#xff0c;分别为用户空间、内核空间和硬件层&#xff0c;内核空间就包括 I2C 设备驱动层、I2C 核心层和 I2C 适配器驱动层&#xff0c; 本篇主要内容就是介绍 I2C 子系统框架中…

基于SSM的企业管理系统(源码+lw+调试+技术指导)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

【金融风控】相关业务介绍及代码详解

金融风控相关业务介绍 【了解】项目整体介绍 1.风控业务和风控报表</span> 零售金融产品 相关的指标 风控建模流程 ​ #2.特征工程 特征构造 特征筛选 ​ 3.评分卡模型构建 逻辑回归 集成学习 XGBoost LightGBM 模型评估 ​ #4.样本不均衡问题/异常点检测 【了解】今日…

【LeetCode】【算法】647. 回文子串

LeetCode 647.回文子串 题目描述 给你一个字符串s&#xff0c;请你统计并返回这个字符串中回文子串的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串是字符串中的由连续字符组成的一个序列。 思路 思路&#xff1a;中心拓展法 中心拓展法的意思是说&#xf…

Late Chunking×Milvus:如何提高RAG准确率

01. 背景 在RAG应用开发中&#xff0c;第一步就是对于文档进行chunking&#xff08;分块&#xff09;&#xff0c;高效的文档分块&#xff0c;可以有效的提高后续的召回内容的准确性。而对于如何高效的分块是个讨论的热点&#xff0c;有诸如固定大小分块&#xff0c;随机大小分…

华为机试HJ26 字符串排序

首先看一下题 描述 编写一个程序&#xff0c;将输入字符串中的字符按如下规则排序。 规则 1 &#xff1a;英文字母从 A 到 Z 排列&#xff0c;不区分大小写。 如&#xff0c;输入&#xff1a; Type 输出&#xff1a; epTy 规则 2 &#xff1a;同一个英文字母的大小写同时存在时…

学习正则表达式,如何校验手机号与电子邮箱

文章目录 一、正则表达式基础知识1.特殊字符&#xff08;Metacharacters&#xff09;2.字符类&#xff08;Character Classes&#xff09;3.预定义字符集&#xff08;Predefined character classes&#xff09;4.分组&#xff08;Groups&#xff09;5.量词&#xff08;Quantifi…