前端JavaScript篇之常见事件

news2024/11/24 16:08:51

目录

  • JavaScript常见事件
    • click(点击)
    • mouseover(鼠标悬停)
    • keydown(按键按下)
    • load(加载)
    • submit(提交)


JavaScript常见事件

JavaScript中的事件是指用户与网页元素交互时所触发的动作或者状态变化。这些事件可以包括点击、悬停、键盘输入、页面加载等。在JavaScript中,您可以通过添加事件监听器来捕获并处理这些事件。以下是一些常见的JavaScript事件:

  • click(点击):当用户点击某个元素时触发。
  • mouseover(鼠标悬停):当鼠标悬停在元素上方时触发。
  • keydown(按键按下):当用户按下键盘上的任意键时触发。
  • load(加载):当页面完全加载后触发。
  • submit(提交):当表单提交时触发。

您可以使用JavaScript来注册这些事件,并在事件发生时执行相应的操作。

click(点击)

在前端开发中,click 事件是指当用户点击某个元素时触发的动作。这是用户与网页交互最常见的一种方式之一。

在实际项目中,您可能需要根据用户的点击来执行不同的操作。例如,在一个社交媒体应用程序中,当用户点击“喜欢”按钮时,您可能需要向服务器发送请求以更新喜欢的状态,并且可能还需要更新页面上的计数器以反映新的喜欢数量。

假设您正在开发一个网页,其中有一个按钮,当用户点击该按钮时,会改变按钮的颜色。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>JavaScript Click事件示例</title>
    <style>
      .highlight {
        background-color: yellow;
      }
    </style>
  </head>
  <body>
    <button id="myButton">点击我</button>

    <script>
      const button = document.getElementById('myButton')
      button.addEventListener('click', function () {
        button.classList.add('highlight')
      })
    </script>
  </body>
</html>

请添加图片描述

上述代码中,我们首先获取了按钮元素,然后使用 addEventListener 方法为按钮添加了一个 click 事件监听器。当用户点击按钮时,触发的函数会将按钮的类更改为 “highlight”,从而改变按钮的背景颜色。

  • 确保在DOM加载完成后再执行JavaScript代码,可以将代码放在DOMContentLoaded 事件监听器中。
  • 了解事件冒泡和事件捕获,以便在需要时正确处理事件的传播。
  • 在处理复杂的交互时,考虑到事件委托(event delegation)可以提高性能并简化代码。

click 事件是前端开发中最常见的事件类型之一,它使我们能够响应用户的点击操作,并在点击发生时执行特定的代码。通过理解事件的触发和处理,我们可以为用户提供更加丰富和动态的交互体验。

mouseover(鼠标悬停)

mouseover 事件是指当用户将鼠标悬停在某个元素上方时触发的动作。这种事件常用于提供用户交互反馈,例如当用户将鼠标悬停在链接上时显示链接预览或者改变元素的样式。

在实际项目中,您可能需要根据用户的鼠标悬停来展示相关信息或者改变元素的外观。例如,在一个电子商务网站上,当用户将鼠标悬停在产品图片上时,您可能希望显示产品的价格和简要描述。

假设您正在开发一个网页,其中有一张图片,当用户将鼠标悬停在图片上时,希望显示一段文字说明。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>JavaScript Mouseover事件示例</title>
    <style>
      #imageContainer {
        position: relative;
        display: inline-block;
      }
      #infoBox {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        background-color: white;
        padding: 5px;
        border: 1px solid #ccc;
      }
      img {
        width: 400px;
        height: 400px;
      }
    </style>
  </head>
  <body>
    <div id="imageContainer">
      <img src="./img/2.jpg" alt="Your Image" />
      <div id="infoBox">这是一张美丽的图片</div>
    </div>

    <script>
      const imageContainer = document.getElementById('imageContainer')
      const infoBox = document.getElementById('infoBox')

      imageContainer.addEventListener('mouseover', function () {
        infoBox.style.display = 'block'
      })

      imageContainer.addEventListener('mouseout', function () {
        infoBox.style.display = 'none'
      })
    </script>
  </body>
</html>

请添加图片描述

在上述代码中,我们首先创建了一个包含图片和信息框的容器。随后,我们为容器添加了 mouseovermouseout 事件监听器。当用户将鼠标悬停在容器上时,信息框的显示状态会被切换为可见;当鼠标移出时,信息框又会隐藏起来。

  • 鼠标悬停事件通常与鼠标移出事件结合使用,以确保用户体验良好。
  • 考虑到不同设备的触摸屏幕,应该谨慎使用仅限于鼠标的交互设计。

mouseover 事件使得我们能够在用户将鼠标悬停在元素上时执行相应的代码,从而提供更加丰富和动态的交互体验。通过理解事件的触发和处理,我们可以为用户提供更加友好和直观的界面反馈。

keydown(按键按下)

keydown 事件是指当用户在页面上按下键盘上的任意键时触发的动作。这种事件通常用于捕获用户的键盘输入,以便执行相应的操作。

在实际项目中,您可能需要根据用户的键盘输入来执行不同的操作。例如,在一个文本编辑应用程序中,当用户按下键盘上的某个特定键时,您可能需要检测并处理用户的输入,比如执行撤销或保存操作。

假设您正在开发一个简单的网页,当用户按下键盘上的任意键时,页面上的文字颜色会改变。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>JavaScript Keydown事件示例</title>
  <style>
    #content {
      font-size: 24px;
    }
  </style>
</head>
<body>
  <div id="content">按下键盘上的任意键看看会发生什么</div>

  <script>
    const content = document.getElementById("content");
    document.addEventListener("keydown", function(event) {
      content.style.color = getRandomColor();
    });

    function getRandomColor() {
      const letters = "0123456789ABCDEF";
      let color = "#";
      for (let i = 0; i < 6; i++) {
        color += letters[Math.floor(Math.random() * 16)];
      }
      return color;
    }
  </script>
</body>
</html>

请添加图片描述
在上述代码中,我们为整个文档添加了 keydown 事件监听器。当用户按下键盘上的任意键时,触发的函数会将内容的文字颜色更改为随机的颜色。

  • 确保在DOM加载完成后再执行JavaScript代码,可以将代码放在DOMContentLoaded 事件监听器中。
  • 在处理键盘事件时,要考虑到不同的键盘布局和用户习惯,确保您的交互设计对多种情况都友好。

keydown 事件使得我们能够响应用户在页面上按下键盘上的任意键的操作,并在按键按下时执行特定的代码。通过理解事件的触发和处理,我们可以为用户提供更加丰富和动态的交互体验,从而增强用户与页面的互动性。

load(加载)

load 事件是指当整个页面及其所需资源完全加载后触发的事件。这种事件通常用于在页面加载完成后执行一些初始化操作或者处理特定的逻辑。

在实际项目中,您可能需要在页面加载完成后执行一些操作,比如初始化页面数据、加载动画、或者向服务器请求额外的数据。

假设您正在开发一个包含大量图片的网页,当所有图片都加载完成后,您希望显示一个“欢迎”的提示。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>JavaScript Load事件示例</title>
    <style>
      #welcomeMessage {
        display: none;
        text-align: center;
        font-size: 24px;
        margin-top: 100px;
      }
    </style>
  </head>
  <body>
    <div id="welcomeMessage">欢迎访问我们的网站!</div>

    <script>
      window.addEventListener('load', function () {
        const welcomeMessage = document.getElementById('welcomeMessage')
        welcomeMessage.style.display = 'block'
      })
    </script>
  </body>
</html>

请添加图片描述

在上述代码中,我们为整个窗口添加了 load 事件监听器。当整个页面及其所需资源完全加载完成后,触发的函数会将欢迎信息的显示状态切换为可见。

  • load 事件仅在整个页面及其所需资源完全加载后才会触发,因此适合于执行那些依赖于整个页面结构和资源完全加载的操作。
  • 对于单个元素内部的资源加载完成,可以考虑使用该元素的 load 事件。

load 事件使得我们能够在整个页面及其所需资源完全加载后执行特定的代码,从而提供更加丰富和动态的交互体验。通过理解事件的触发和处理,我们可以在页面加载完成后执行必要的初始化操作,确保用户获得最佳的浏览体验。

submit(提交)

submit 事件是指当用户提交表单时触发的事件。这种事件通常用于在用户提交表单之前执行验证操作或者在表单提交后处理用户输入的数据。

在实际项目中,您可能需要在用户提交表单时执行一些验证逻辑,比如检查用户输入是否合法,并在验证通过后将数据发送到服务器。

假设您正在开发一个注册页面,当用户点击注册按钮提交表单时,您希望验证用户输入的信息是是否有效,并向服务器发送注册请求。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>JavaScript Submit事件示例</title>
  </head>
  <body>
    <form id="registrationForm">
      <input type="text" id="username" placeholder="用户名" required />
      <input type="password" id="password" placeholder="密码" required />
      <button type="submit">注册</button>
    </form>

    <script>
      const form = document.getElementById('registrationForm')
      form.addEventListener('submit', function (event) {
        event.preventDefault() // 阻止表单默认提交行为

        // 在这里执行表单验证和提交逻辑
        const username = document.getElementById('username').value
        const password = document.getElementById('password').value

        if (username && password) {
          // 执行提交逻辑,比如向服务器发送注册请求
          console.log('提交表单 - 用户名:' + username + ',密码:' + password)
        } else {
          alert('用户名和密码不能为空')
        }
      })
    </script>
  </body>
</html>

请添加图片描述

在上述代码中,我们为表单添加了 submit 事件监听器。当用户点击注册按钮提交表单时,触发的函数会首先阻止表单的默认提交行为,然后执行自定义的表单验证和提交逻辑。

  • 在表单提交事件中,通常需要使用 event.preventDefault() 阻止表单的默认提交行为,以便执行自定义的验证和处理逻辑。
  • 表单验证逻辑可以根据具体需求进行设计,确保用户输入的数据符合预期的格式和规范。

submit 事件使得我们能够在用户提交表单时执行特定的验证和处理逻辑,从而确保用户输入的数据符合预期的格式和规范,并且在验证通过后将数据提交到服务器。通过理解事件的触发和处理,我们可以为用户提供更加友好和安全的表单交互体验,从而增强用户与网站的互动性。

持续学习总结记录中,回顾一下上面的内容:
JavaScript常见事件包括click(点击)、mouseover(鼠标悬停)、keydown(按键按下)、load(加载)、submit(提交)等。这些事件用于捕获用户在页面上的交互动作,比如点击按钮、移动鼠标、按下键盘、页面加载完成和提交表单等。通过处理这些事件,我们可以实现丰富的交互体验,比如验证表单、改变页面内容、执行动画效果等。掌握这些事件能够让我们更好地响应用户操作,提升网站的交互性和用户体验。

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

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

相关文章

Device Tree (二) - dtb格式

dtb作为二进制文件被加载到内存中&#xff0c;然后由内核读取并进行解析&#xff0c;如果对dtb文件的格式不了解&#xff0c;那么在看设备树解析相关的内核代码时将会寸步难行&#xff0c;而阅读源代码才是了解设备树最好的方式&#xff0c;所以&#xff0c;如果需要更透彻的了…

来来来, SAP BTP下使用CAP来生成PostgreSQL应用(一): Node.js篇

前言 SAP云应用程序编程模型(CAP)是一个语言、库和工具框架&#xff0c;用于构建企业级服务和应用程序。它引导开发人员沿着一条经过验证的最佳实践的“黄金之路”前进&#xff0c;并为反复出现的任务提供大量开箱即用的解决方案。 我们这就来看看SAP BTP的CAP到底提供了哪些…

蓝桥杯--日期统计

目录 一、题目 二、解决代码 三、代码分析 ​四、另一种思路 五、关于set文章推荐 一、题目 二、解决代码 #include <bits/stdc.h> using namespace std; int main() {int arr[100] { 5,6,8,6,9,1,6,1,2,4,9,1,9,8,2,3,6,4,7,7,5,9,5,0,3,8,7,5,8,1,5,8,6,1,8,3,0,…

【DDR】DDR4学习记录

这里以美光DDR4芯片 MT40A512M16HA-075E datasheet 为例&#xff0c;说明DDR4存储器的原理及仿真。   根据开发板手册ug1302&#xff0c;在vcu128&#xff08;xcvu37p&#xff09;开发板上&#xff0c;共具有5块DDR4芯片&#xff0c;在数据信号上4块DDR4具有16位数据线&#…

模拟电子技术实验(二)

单选题 1. 本实验的实验目的中&#xff0c;输出电阻测量是第几个目的&#xff1f; A. 1个。 B. 2个。 C. 3个。 D. 4个。 答案&#xff1a;C 评语&#xff1a;10分 单选题 2.本实验电路有一个元件参数有问题&#xff0c;需要修改&#xff1f; A. …

漏洞发现-漏扫项目篇NucleiYakitGobyAfrogXrayAwvs联动中转被动

知识点 1、综合类-Burp&Xray&Awvs&Goby 2、特征类-Afrog&Yakit&Nuclei 3、联动类-主动扫描&被动扫描&中转扫描 章节点&#xff1a; 漏洞发现-Web&框架组件&中间件&APP&小程序&系统 扫描项目-综合漏扫&特征漏扫&被动…

ThreadLocal 快速入门

ThreadLocal 快速入门 ThreadLocal 是 Java 中的一个类&#xff0c;用于创建线程局部变量。线程局部变量是一种特殊的变量&#xff0c;每个线程都有自己的副本&#xff0c;互相之间不会相互影响。这在多线程环境中非常有用&#xff0c;可以避免线程间共享变量导致的并发问题。…

产品之美6|用户根据习惯选择双列或单列布局

某红书的首页排版:双列排版 另一个社交app首页排版:单列排版 现在某社交app,用户根据自己浏览习惯&#xff0c;可选择双列 选择单列 启发:不同的用户有不同的浏览习惯&#xff0c;选择权交给用户。

Tableau 新建工作薄

1. 进入“Tableau编辑” tab 2. 找到一个已存在的工作薄(最好功能类似)&#xff0c;点击“编辑工作薄”Tab 3. 点击“发布为”tab&#xff0c;会生成一个新的工作薄 随便起一个名字&#xff0c;选定项目文件夹&#xff0c;发布即可。 4. 修改数据表 &#xff08;1&#xff09;…

合金采样电阻有什么作用?

采样电阻又叫电流检测电阻、取样电阻是指电流采样和电压采样而电流采样串联电阻值小的电阻其作用在于电路中能够精准的采集电流&#xff0c;电压采样并联电阻值大的电阻。此类电阻&#xff0c;是按照产品使用以及功能作用来命名也因此工程师称采样电阻。 采样电阻作用 采样电阻…

微信小程序开发系列(二十九)·界面交互API·loading 提示框、showModal模态对话框、showToast消息提示框

目录 1. loading 提示框 1. 1 wx.showLoading()显示loading提示框 1.2 wx.hideLoading()关闭 loading 提示框 2. showModal 模态对话框 3. showToast 消息提示框 小程序提供了一些用于界面交互的 API&#xff0c;例如&#xff1a;loading 提示框、消息提示框、模态对…

【嵌入式——QT】标准对话框

【嵌入式——QT】标准对话框 文件对话框颜色对话框字体对话框输入对话框消息框代码示例 文件对话框 QFileDialog 常用静态函数 getOpenFileName&#xff1a;选择打开一个文件&#xff1b;getOpenFileNames&#xff1a;选择打开多个文件&#xff1b;getSaveFileName&#xff1…

36+程序员3站考研:国家线轻松拿捏

基本情况是&#xff1a;年龄较大&#xff0c;比36还大&#xff0c;本科是自考&#xff0c;十几年来一直从事编程相关工作。 第一年考数学太慌了&#xff0c;选择题全蒙的&#xff0c;结果填空题一道没算对&#xff0c;大题全不会&#xff0c;所以尽管总分280多但是数学没过国家…

制造行业大数据应用:四大领域驱动产业升级与智慧发展

一、大数据应用&#xff1a;制造行业的智慧引擎 随着大数据技术的不断突破与普及&#xff0c;制造行业正迎来一场前所未有的变革。大数据应用&#xff0c;如同智慧引擎一般&#xff0c;为制造行业注入了新的活力&#xff0c;推动了产业升级与创新发展。 二、大数据应用在制造行…

测试用例的设计(2)

目录 1.前言 2.正交排列(正交表) 2.1什么是正交表 2.2正交表的例子 2.3正交表的两个重要性质 3.如何构造一个正交表 3.1下载工具 3.1构造前提 4.场景设计法 5.错误猜测法 1.前言 我们在前面的文章里讲了测试用例的几种设计方法,分别是等价类发,把测试例子划分成不同的类…

Druid连接池经常性断链问题

前段时间有应用使用Druid连接池经常的提示断链报错&#xff0c;整个问题排查分析过程很有意思。这里将Druid连接池、数据库层以及负载均衡层的配置分析下&#xff0c;记录整个问题的分析过程&#xff0c;同时梳理下Druid连接池的配置和连接保活及回收机制。 1、问题背景 应用…

【图文详解】Maven Helper插件解决Maven冲突

文章目录 插件问题解决过程 在面试中解决问题的能力和思路是考察的重点&#xff0c;面试官问会问我们有没有解决过maven冲突。以下造了一个maven冲突&#xff0c;手把手教学如何解决Maven冲突。 插件 插件在idea插件中搜索Maven Helper 问题 解决过程 根据上面日志知道是log…

基于SWOT的智能手机企业财务战略研究1.62

摘 要 近些年&#xff0c;网络技术日新月异&#xff0c;智能手机深受消费者喜爱&#xff0c;人们通过网络&#xff0c;手机应用&#xff0c;可以极大地方便人们学习&#xff0c;工作等等。由于国家对电信行业的大力支持&#xff0c;中国消费者群体逐步成为最具潜力的手机购买者…

【Emgu CV教程】9.3、形态学常用操作之开运算

文章目录 一、相关概念1.什么叫开运算3.开运算的函数 二、演示1.原始素材2.代码3.运行结果 一、相关概念 1.什么叫开运算 腐蚀、膨胀已经讲完&#xff0c;这两个是最基础的形态学操作。这次讲的是开运算&#xff0c;它是一个先腐蚀、后膨胀的过程。原始图像先被腐蚀&#xff…

对GIS与游戏引擎(UE4 或 U3D)结合的看法

GIS与游戏引擎结合&#xff0c;这在6年前就已经很多公司在进行探索了&#xff0c;经过这几年的发展&#xff0c;结合当前的政策&#xff0c;从以下几方面说一下我的看法&#xff1a; 1.GIS客户都是特殊单位及领域。2018年后&#xff0c;国内已经对国产化有明确要求了&#xff0…