浅析javascript中的Event事件

浅析 JavaScript 中的 Event 事件

什么是 Event 事件?

事件是 JavaScript 中一种重要的交互方式。页面的许多行为(如点击、滚动、拖拽、键盘按下等)都可以通过事件来触发相应的 JavaScript 代码。

JavaScript 中的 Event 对象表示事件,它包含了导致该事件发生的行为以及相关的信息。Event 对象是由浏览器自动创建的,我们可以通过监听事件来获取该对象。

常用的 Event 事件

以下是一些常用的 Event 事件:

  • click:鼠标单击事件。
  • mouseover:鼠标移入事件。
  • keydown:键盘按键按下事件。
  • scroll:页面滚动事件。

Event 事件监听

通过 addEventListener 方法可以监听 Event 事件,该方法通常调用在 DOM 元素上。

document.addEventListener('click', function(event) {
  console.log('鼠标点击事件');
});

上述代码将在文档中任意位置接收到鼠标单击事件时输出 鼠标点击事件

Event 事件处理

阻止默认行为

有些事件在触发时会有默认行为,如 <a> 标签的点击会跳转网页,这时我们可以通过 Event 对象的 preventDefault 方法 来阻止该行为的发生。

document.querySelector('a').addEventListener('click', function(event) {
  event.preventDefault();
});

上述代码将在 <a> 标签被点击时不跳转,而是停留在本页面。

阻止事件冒泡

事件冒泡是指事件从最底层开始向着最外层的父元素冒泡。有时我们希望阻止事件冒泡,即在当前元素内部处理完事件后不再向外传递。

<div class="outer">
  <div class="inner">
    <button>点击</button>
  </div>
</div>
document.querySelector('.outer').addEventListener('click', function(event) {
  console.log('outer 被点击了');
});
document.querySelector('.inner').addEventListener('click', function(event) {
  console.log('inner 被点击了');
  event.stopPropagation();
});
document.querySelector('button').addEventListener('click', function(event) {
  console.log('button 被点击了');
});

上述代码在点击按钮时,会先触发 inner 元素的点击事件,再停止事件冒泡,因此不会触发 outer 元素的点击事件。最终只输出 inner 被点击了button 被点击了

示例说明

示例一:鼠标悬浮事件

<p id="text">鼠标悬浮在我身上</p>
document.querySelector('#text').addEventListener('mouseover', function(event) {
  event.target.innerText = '谢谢你的关注';
});

上述代码在鼠标悬浮在 <p> 标签上时,将该元素的文字内容修改为 谢谢你的关注

示例二:键盘快捷键

document.addEventListener('keydown', function(event) {
  if (event.key === 'Enter') {
    console.log('你按下了 Enter 键');
  }
});

上述代码在按下 Enter 键时输出 你按下了 Enter 键。这样的效果既可以应用在网页的搜索框上,也可以用在游戏的方向键上。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅析javascript中的Event事件 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • Javascript中函数名.length属性用法分析(对比arguments.length)

    当我们在JavaScript中定义一个函数时,函数名上有一个属性length,它用来获取函数定义时的形参个数。这个length属性可以作为函数的一个属性被调用。 与之相似的,我们可以使用arguments.length来获取函数调用时实际传入参数的个数。下面将对这两者的用法进行详细的讲解,同时提供相应的示例。 Javascript中函数名.length属性 …

    JavaScript 2023年5月28日
    00
  • 很全面的JavaScript常用功能汇总集合

    欢迎来到网站,以下是“很全面的JavaScript常用功能汇总集合”的完整攻略。 什么是JavaScript常用功能汇总集合 JavaScript常用功能汇总集合是一个包含了常见的JavaScript功能和代码示例的集合,涵盖了诸如数组操作、字符串处理、函数式编程、事件处理等常用功能。通过本集合,您可以快速地获取JavaScript开发过程所需的绝大部分基础…

    JavaScript 2023年5月18日
    00
  • JavaScript Canvas实现兼容IE的兔子发射爆破动图特效

    JavaScript Canvas实现兼容IE的兔子发射爆破动图特效攻略如下: 1. 准备工作 在开始编写代码之前,我们需要准备开发环境和必要的素材文件。具体如下: 安装支持Canvas的浏览器,例如Chrome、Firefox等。 准备需要用到的图片素材,包括兔子、炮弹、爆炸等。建议使用PNG格式,并切图至透明背景。 创建一个HTML文件,并引入JavaS…

    JavaScript 2023年6月10日
    00
  • js中yield参数应用示例深入理解

    我来详细讲解一下“js中yield参数应用示例深入理解”的攻略。 标题一:yield的概念 yield的定义 在JavaScript中,yield是ES6(ECMAScript 6)中的一种关键字,用于生成器函数中。通过yield,我们可以在生成器函数中暂停执行并返回一个迭代器对象给调用者,再次调用时可以从上一次暂停的地方继续执行。 yield的应用场景 协…

    JavaScript 2023年5月28日
    00
  • AJAX 支持搜索引擎问题分析

    AJAX 支持搜索引擎问题分析 搜索引擎可以的爬行器(spider)抓取网站的数据,并将其存储在搜索引擎的数据库中。搜索引擎将这些数据从数据库中检索出来以满足用户的查询需求。然而,一些网站是使用了 AJAX 技术来实现异步请求的,这可能会导致搜索引擎无法获取到这些网站的数据,而无法对其进行索引。 要解决这个问题,我们需要做一些改变,以便搜索引擎可以正确地获得…

    JavaScript 2023年6月11日
    00
  • Vue设置keepAlive不生效问题及解决

    一起来详细讲解“Vue设置keepAlive不生效问题及解决”的完整攻略。 问题描述 在Vue开发中,我们通过设置keep-alive组件来缓存页面状态,避免重复渲染页面的性能瓶颈。但是,有时候我们可能会遇到这样的问题:设置了keep-alive却不生效,每次页面跳转都会重新渲染页面,这是为什么呢?如何解决这个问题呢? 原因分析 keep-alive组件默认…

    JavaScript 2023年6月11日
    00
  • JS获取当前日期时间并定时刷新示例

    获取当前日期时间并定时刷新是一个常见的前端需求,可以通过JavaScript实现。下面将详细介绍如何实现这个功能并提供两条示例说明。 步骤一:获取当前日期时间 我们可以使用JavaScript中的Date对象来获取当前日期时间。可以使用Date类的方法getYear(),getMonth(),getDay(),getHours(),getMinutes()和…

    JavaScript 2023年5月27日
    00
  • JavaScript 笔记

    JavaScript 简介 JavsScript 于 1995 年由 Brendan Eich 用时 10 天写出,用于网景浏览器。最初的名字叫 LiveScript,也被部分员工称为 Mocha。那时 Java 语言很流行,出于商业化的考量,更名为 JavaScript,但两者之间没有关联。 最早的 JS 作为脚本语言给浏览器增加一些诸如鼠标跟随等交互性特…

    JavaScript 2023年5月7日
    00
合作推广
合作推广
分享本页
返回顶部