JavaScript快速入门四

文章目录

    • 事件
      • 事件的绑定
      • 事件监听机制
      • 常见事件
        • 点击事件
        • 焦点事件
        • 加载事件
        • 鼠标事件
        • 键盘事件
        • 选择和改变
        • 表单事件

事件

  • 概述:某些组件被执行了某些操作后,触发了某些代码的执行

事件的绑定

  • 方法一:直接在 HTML 标签上,指定事件的属性,属性值就是 JavaScript 代码

    <img src="" alt="资源正在加载" onclick="confirm('5+5=10对吗?')">
    
  • 方法二:通过 JavaScript 获取到元素对象,指定事件的属性,设置一个函数

    <img src="" alt="资源正在加载" id="light">
    <script>var light = document.getElementById("light");light.onclick = function (){alert("点我干嘛");}
    </script>
    

事件监听机制

  • 概述:某些组件被执行了某些操作后,触发了某些代码的执行
    • 事件:某些操作,例如、单击、双击、键盘按下、鼠标移动等
    • 事件源:组件,例如、按钮 文本输入框等
    • 监听器:代码
    • 注册监听:将事件、事件源、监听器结合在一起,当事件源上发生了某个事件,则触发执行某个监听器代码

常见事件

点击事件
关键字作用
onclick单击事件
ondblclick双击事件
  • 示例代码

    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><title>点击事件</title><style>div{width: 80px;height: 80px;background-color: red;margin: 20px;padding: 40px;}</style>
    </head>
    <body><div id="div1"><p>单击变色中国</p></div><div id="div2"><p>双击隐藏郑州</p></div><script>var div1 = document.getElementById("div1");var div2 = document.getElementById("div2");div1.onclick = function (){div1.style.backgroundColor='orange';}div2.ondblclick = function (){div2.style.visibility='hidden';}</script>
    </body>
    </html>
    
焦点事件
关键字作用
onblur失去焦点(一般)
onfocus元素获得焦点
  • 示例代码

    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><title>事件</title>
    </head>
    <body><input type="text" id="username" placeholder="请输入姓名"><input type="button" id="btn" value="点我,让我消失"><script>var username = document.getElementById("username");var btn = document.getElementById("btn");// 失去焦点时,元素背景颜色变成 橙色username.onblur = function(){username.style.backgroundColor = "orange";}// 获取焦点时,让按钮消失btn.onfocus = function(){btn.style.visibility = "hidden";}</script>
    </body>
    </html>
    
加载事件
关键字作用
onload一张页面或一副图像完成加载
  • 示例代码(自己去下载太阳和月亮的图片,替换自己的路径)

    <!DOCTYPE html>
    <html>
    <head><title>图片自动变换示例</title><script>// 2秒后,执行此函数,切换照片setTimeout(function changeImage() {var image = document.getElementById('myImage');image.src = '../../img/moon.jpg'; // 替换成月亮的图片},2000);</script>
    </head>
    <body onload="changeImage()"><img id="myImage" src="../../img/sun.jpg" alt="太阳">
    </body>
    </html>
    
鼠标事件
关键字作用
onmousedown鼠标按钮被按下(定义方法时,定义一个形参,接收event对象,event的button属性可以知道那个按钮点击了)
onmouseup鼠标按键松开
onmousemove鼠标被移动
onmouseover鼠标移动到某元素之上
onmouseout鼠标从某元素移开
  • 示例代码

    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><title>鼠标事件</title>
    </head>
    <body><input type="button" id="btn1" value="点我"><input type="button" id="btn2" value="点我"><input type="button" id="btn3" value="移动鼠标看看我的变化"><input type="button" id="btn4" value="将鼠标移动到我身上试试,移走再试试"><script>var btn1 = document.getElementById("btn1");var btn2 = document.getElementById("btn2");var btn3 = document.getElementById("btn3");var btn4 = document.getElementById("btn4");var btn5 = document.getElementById("btn5");// 鼠标按键按下btn1.onmousedown = function (event){if(event.button == 0){btn1.value = "鼠标左键踩到我了";}else if(event.button == 1){btn1.value = "鼠标滚轮踩到我了";}else if(event.button == 2){btn1.value = "鼠标右键踩到我了";}}// 鼠标按键松开btn2.onmouseup = function (){btn2.value = "别松开我啊";}// 鼠标移动btn3.onmousemove = function (){btn3.value = "鼠标移动了";btn3.style.backgroundColor = "yellow";}// 鼠标移动按钮上btn4.onmouseover = function (){btn4.style.backgroundColor = "red";}// 鼠标移动开按钮btn4.onmouseout = function (){btn4.style.backgroundColor = "";}</script>
    </body>
    </html>
    
键盘事件
关键字作用
onkeydown某个键盘按键被按下
onkeyup某个键盘按键被松开
onkeypress某个键盘按键被按下并松开
  • 示例代码

    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><title>键盘事件</title>
    </head>
    <body><p id="p1">输出那个按键被按下</p><p id="p2">输出那个按键被松开</p><p id="p3">那个按键被按下并松开</p><input type="text" id="btn1" placeholder="请按下键盘按键"><input type="text" id="btn2" placeholder="请按下键盘按键"><input type="text" id="btn3" placeholder="请按下键盘按键"><script>var p1 = document.getElementById("p1");var p2 = document.getElementById("p2");var p3 = document.getElementById("p3");var btn1 = document.getElementById("btn1");var btn2 = document.getElementById("btn2");var btn3 = document.getElementById("btn3");btn1.onkeydown = function (event){var key = event.keyCode;p1.innerHTML = "被按下的按键是:"+key + "<br>";}btn2.onkeyup = function (event){var key = event.keyCode;p2.innerHTML = "被松开的按键是:"+key + "<br>";}// 显示的是大写字母的 ASCII 码值btn3.onkeypress = function (event){var key = event.keyCode;p3.innerHTML = "按下又松开的按键是:"+key + "<br>";}</script>
    </body>
    </html>
    
选择和改变
关键字作用
onchange域的内容被改变(可用作下拉列表)
onselect文本被选中
  • 示例代码

    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><title>选择和改变事件</title>
    </head>
    <body><!-- 下拉列表 --><select type="select" id="city"><option value="0">--请选择城市--</option><option value="1">北京</option><option value="2">上海</option><option value="3">深圳</option><option value="4">郑州</option></select><!-- 文本域 --><textarea id="myTextarea" style="width: 300px; height: 100px;">选择一些文本,你好,欢迎来到编程世界!我是小哼,我们一起共同进步。</textarea><script>var city = document.getElementById("city");var myTextarea = document.getElementById("myTextarea");// 下拉列表选中city.onchange = function (){// 获取下拉列表选择值var selectValue = city.value;// 进行判断if(selectValue == 1){alert("北京");}else if(selectValue == 2){alert("上海");}else if(selectValue == 3){alert("深圳");}else if(selectValue == 4){alert("郑州");}else{alert("不好意思,其他城市暂未开通");}}// 文本选中myTextarea.onselect = function (){// 获取被选择的文本var selectText = window.getSelection().toString();alert(selectText);}</script>
    </body>
    </html>
    
表单事件
关键字作用
onsubmit确认按钮被点击(可以阻止表单提交)
onreset重置按钮被点击
  • 示例代码

    <!DOCTYPE html>
    <html>
    <head><title>表单事件</title><meta charset="utf-8"><script>function handleSubmit() {// 阻止表单的默认提交行为event.preventDefault();// 获取表单中的输入值var username = document.getElementById("username").value;var password = document.getElementById("password").value;// 在控制台输出输入值alert('Username: ' + username);alert('Password: ' + password);}function handleReset() {// 重置表单后的操作alert('输入框已重置');}</script>
    </head>
    <body>
    <form onsubmit="handleSubmit()" onreset="handleReset()"><label for="username">用户名:</label><input type="text" id="username" name="username"><br><br><label for="password">密码:</label><input type="password" id="password" name="password"><br><br><input type="submit" value="提交"><input type="reset" value="重置">
    </form>
    </body>
    </html>
    

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

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

相关文章

自定义通用返回对象

目的&#xff1a;给返回对象补充一些信息&#xff0c;告诉前端这个请求在业务层面上是成功还是失败&#xff0c;以及具体的描述信息。 我们需要自定义错误码&#xff08;因为前端的HTTP状态码默认的值比较少&#xff09;和正常错误返回类。 ErrorCode &#xff1a; package …

python基础 - 变量

知识点1&#xff1a; print函数里可以用英文逗号, 分隔字符和变量&#xff0c;字符串要用双引号引起来&#xff0c;而变量名不用引起来&#xff0c;同时print的时候也可以直接写数学运算公式 知识点2&#xff1a; python里和用户交互的函数是input&#xff0c;但它有一个特点&…

街机模拟游戏逆向工程(HACKROM)教程:[18]分析的思路

在之前的文章,我们已经提及,得到玩家的血量,可以用这个分析出哪些想要的东西: 1、被敌人攻击 - 得到敌人某个技能的攻击力,自身的防御力。 2、被队友攻击 - 得到队友的攻击力。 3、被道具击中 - 得到道具的攻击力。 4、使用扣血技能 - 得到使用技能扣除的血量值。 5、…

pikachu_csrf通关攻略

csrf&#xff08;get&#xff09; 打开pikachu靶场&#xff1a; 1. 根据提示给的账户密码进行登录 2. 打开代理拦截数据包将拦截数据发送到已打开的burp中&#xff1a; 修改数据进行发包&#xff1a; 从上面的url可见&#xff0c;修改用户信息的时候&#xff0c;是不带任何不…

网易云音乐JS逆向分析

文章目录 页面分析抓包分析JS逆向分析代码编写 页面分析 先来分析一下页面 当我们点击播放按钮的时候&#xff0c;音乐开始播放。实际上这个逻辑背后的原理是这个按钮后面对应的是一个url&#xff0c;这个地址是通过ajax来进行局部刷新的。 所以我们可以通过抓包工具&#…

everything的使用技巧

搜索 如何使用布尔运算符&#xff1f; AND 是默认布尔运算符。 例如&#xff0c;搜索 abc 和 123&#xff0c;您可以&#xff1a; abc 123 OR搜索两个搜索项中任意一个&#xff0c;在两项中加上 | 。 例如&#xff0c;搜索 .jpg 或 .bmp&#xff0c;您可以&#xff1a; …

软件开发:大厂中的灰度发布到底是什么样的一个流程

前言 灰度发布是一种软件发布的策略&#xff0c;也被称为渐进式发布或部分用户发布。在灰度发布中&#xff0c;新版本的软件不会立即对所有用户进行全面发布&#xff0c;而是先选择一小部分用户进行测试和试用。这样可以在生产环境中逐步引入新功能或修复bug&#xff0c;以降低…

K8S搭建(centos)四、安装K8S

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

第二百八十三回

文章目录 1. 概念介绍2. 方法与细节2.1 实现方法2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何混合选择多个图片和视频文件"相关的内容&#xff0c;本章回中将介绍如何通过相机获取视频文件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. …

linux环境开发工具---yum与vim

1.Linux软件包管理器yum 1.1什么是软件包 在学习linux过程中&#xff0c;我们常常会遇到某些指令用不了的时候&#xff0c;原因除了权限问题外&#xff0c;还有可能是你当前的linux环境并没有安装相应的软件包。而在Linux下载安装软件的办法有两个&#xff0c;一个是先下载所需…

Aspx漏洞总结

第一部分&#xff0c;.NET项目当中的dll都可以进行反编译&#xff1a; 在java中有很多jar包&#xff0c;而在.NET框架中的bin中对应有很多DLL文件&#xff0c;bin下面都是可执行文件&#xff0c;这些文件都是很多代码封装的&#xff0c;想要查看源码&#xff0c;都需要通过反编…

Microsoft Remote Desktop for Mac(远程桌面连接)激活版

Microsoft Remote Desktop是一款由微软开发的远程桌面连接工具&#xff0c;它允许用户从另一台计算机或移动设备远程连接到Windows桌面或服务器。 以下是该软件的一些主要特点和功能&#xff1a; 跨平台支持&#xff1a;Microsoft Remote Desktop支持Windows、macOS、iOS和Andr…

【Linux】Vagrant搭建Linux环境

1. Vagrant Vagrant是一个基于Ruby的工具&#xff0c;用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统&#xff0c;使用 Chef创建自动化虚拟环境。 1.1 安装Vagrant 从Vagrant官网下载安装包&#xff0c;执行安装。 1.2 安装VirtualBox 从官网下载…

VLM 系列——中文CLIP——论文解读

一、概述 1、是什么 CLIP 的中文版,训练使用2亿 图-文 对的对比学习(不是LLM的预测下一个token),是一个双塔模型(图像和文本各子拥有一个编码器)。由于对齐了图像和文本特征,可以用来做:图-图(文章中没有相关测试任务)、图-文、文-图、文-文(文章中没有相关测试…

【K8S 云原生】K8S之HPA自动扩缩容、命名空间资源限制、容器抓包

目录 一、HPA概述 1、概念 2、两个重要的组件&#xff1a; 3、HPA的规则&#xff1a; 4、pod的副本数扩容有两种方式&#xff1a; 4.1、手动扩缩容&#xff0c;修改副本数&#xff1a; 4.2、自动扩缩容HPA 二、实验部署&#xff1a; 1、部署HPA 2、实现自动扩缩容 三…

智慧博物馆信息化系统建设(2)

物联网智能感知综合平台 物联网感知综合平台是综合物联网应用共性特点,贯穿感知、传输、应用服务三层的共性功能模块、协议和平台等的总称。 “感知综合平台基础标准+应用子集标准”体系已被ISO/IEC JTC1 国际标准化组织和国家物联网基础工作组认可,“物联网感知综合平台+应…

Pandas--简介(1)

Pandas 简介 Pandas 是一个开源的数据分析和数据处理库&#xff0c;它是基于 Python 编程语言的。Pandas 提供了易于使用的数据结构和数据分析工具&#xff0c;特别适用于处理结构化数据&#xff0c;如表格型数据&#xff08;类似于Excel表格&#xff09;。Pandas 是数据科学和…

GPTBots:利用FlowBot中的卡片和表单信息,提供丰富的客服体验

在当今的数字化时代&#xff0c;客户服务的形式和体验正在经历着前所未有的变革。传统的文字消息方式已经无法满足现代用户对于服务体验的多元化需求。那么&#xff0c;如何才能在这个信息爆炸的时代&#xff0c;让我们的服务方式更加个性化、多样化&#xff0c;从而提供更丰富…

博途1200PLC脉冲轴绝对定位往复运动控制FB(完整SCL源代码)

三菱PLC绝对定位指令往复运动控制请参考下面文章链接: https://rxxw-control.blog.csdn.net/article/details/135570157https://rxxw-control.blog.csdn.net/article/details/135570157SMART PLC绝对定位往复运动控制 https://rxxw-control.blog.csdn.net/article/details/1…

VBA经典应用69例:基于文本条件的一般筛选及条件OR筛选

《VBA经典应用69例》&#xff08;版权10178981&#xff09;&#xff0c;是我推出的第九套教程&#xff0c;教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开&#xff0c;这套教程案例众多&#xff0c;紧贴“实战”&#xff0c;并做“战术总结”&#xff0c;以便…