JavaScript 06 DOM-事件初步

简介: 事件监听、常见事件(焦点 鼠标 输入等事件)

一、事件监听是什么?

让程序检测是否有事件产生,一旦有事件触发,就立即调用一个函数做出响应,也称为 注册事件

比如点击网页,鼠标经过...

1.1事件监听三要素

  • 事件源:那个dom元素被事件触发了,要获取dom元素
  • 事件类型:用什么方式触发,比如鼠标单击 click、鼠标经过 mouseover 等
  • 事件处理的函数:要做什么事 一般是一个匿名函数函数

1.2事件监听的两种方法:

①dom对象.on事件类型 = 事件处理函数

2f4f93c79f924fc1a49d5bc253db0ca5.png

4aa51850f40b481c957cc93fbb5934a8.gif

(不推荐这种写法)

②推荐用 注册事件.addEventListener写法

fe7830fbf49a41c4aefbb911653435d0.png

效果与第一个一样的

注意点:

  • 事件类型需要用括号括起来
  • 选择器需要加上类. 或者标签# 整体用货号括起来
  • .addEventListener不需要加on

来个例子感受下-关闭广告

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      position: relative;
      width: 1000px;
      height: 200px;
      background-color: pink;
      margin: 100px auto;
      text-align: center;
      font-size: 50px;
      line-height: 200px;
      font-weight: 700;
    }
    .close {
      position: absolute;
      right: 20px;
      top: 10px;
      width: 20px;
      height: 20px;
      background-color: skyblue;
      text-align: center;
      line-height: 20px;
      font-size: 16px;
      cursor: pointer;
    }
  </style>
</head>
<body>
  <div class="box">
    我是广告
    <div class="close">X</div>
  </div>
  <script>
    const cl = document.querySelector('.close')
    const box = document.querySelector('.box')
      // 注意属性值需要  加上style,值用‘’包括起来                                                                                                                                                                ‘’
    cl.addEventListener('click', function () {
      box.style.display = 'none'
    })
  </script>
</body>
</html>

二、鼠标事件

有两组为(没什么区别,后篇文章讲冒泡的时候再说):

  • mouseenter 鼠标经过 mouseleave 鼠标离开
  • mouseover 鼠标经过  mouseout鼠标离开

4f3e09cbe663413cb25b79fb38b96a5f.png

65208d340885486c831c2ff1d1c5944d.gif

三、键盘事件

有两个

keydown按下

keyup抬起

4d79712c96cd4aa892bd64f69e05e086.png

db083c9ed6e14676bbd04252abb105cc.gif

四、焦点事件

有两个

  • focus 获取焦点        
  • blur 失去焦点

焦点事件长跟表单元素一起使用

c856335f994e4550924e8836803c07d7.png

67426d61d356453ea354f31449422f71.gif

五、事件对象

什么是事件对象?

  • 事件对象是个对象,这个对象里保存事件触发时的相关信息
  • 例如:鼠标点击事件中,事件对象就保存了鼠标点击的坐标值
// 事件对象:一般命名为event、ev、e 
事件源.addEventListener('事件类型', function(事件对象) {
  console.log(事件对象)
})
// 形参 e 就是事件对象
document.querySelector('.btn').addEventListener('click', function(e){
})
document.addEventListener('mousemove', function(e){
})

9746935df4a8403abf85a3126881edb5.png


相关文章
|
11月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
313 57
|
5月前
|
JavaScript 前端开发 Java
【Java进阶】详解JavaScript事件
总的来说,JavaScript事件是JavaScript交互设计的核心,理解和掌握JavaScript事件对于编写高效、响应式的网页应用至关重要。
91 15
|
6月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
8月前
|
JavaScript 前端开发 测试技术
盘点原生JavaScript中直接触发事件的方式
本文全面探讨了原生JavaScript中触发事件的多种方式,包括`dispatchEvent`、`Event`构造函数、`CustomEvent`构造器、直接调用事件处理器以及过时的`createEvent`和`initEvent`方法。通过技术案例分析,如模拟点击事件、派发自定义数据加载事件和实现提示框系统,帮助开发者掌握这些方法在实际开发中的应用,提升灵活性与兼容性。
229 3
|
10月前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
10月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
335 5
|
10月前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
11月前
|
存储 JavaScript 前端开发
js事件队列
【10月更文挑战第15天】
157 6
|
11月前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
284 4
|
11月前
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
555 0