成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

e.target 和 e.currentTarget 的區(qū)別?你到底知不知道?

開發(fā) 前端
大家開發(fā)中經(jīng)常會跟DOM的事件打交道,也會經(jīng)常用到e.target和e.currentTarget這兩個對象,但是卻有很多人根本就不知道這兩個有什么區(qū)別~~~

前言

大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎(chǔ)是進階的前提是我的初心

前端之神

一位前端小菜雞,寫過100多篇原創(chuàng)文章,全網(wǎng)有5w+個前端朋友,夢想是成為”前端之神“~

261篇原創(chuàng)內(nèi)容

公眾號

背景

大家開發(fā)中經(jīng)常會跟DOM的事件打交道,也會經(jīng)常用到e.targete.currentTarget這兩個對象,但是卻有很多人根本就不知道這兩個有什么區(qū)別~~~

冒泡 & 捕獲

當(dāng)你觸發(fā)一個元素的事件的時候,該事件從該元素的祖先元素傳遞下去,此過程為捕獲,而到達此元素之后,又會向其祖先元素傳播上去,此過程為冒泡

<div id="a">
      <div id="b">
        <div id="c">
          <div id="d">哈哈哈哈哈</div>
        </div>
      </div>
    </div>

圖片

addEventListener

addEventListener是為元素綁定事件的方法,他接收三個參數(shù):

  • 第一個參數(shù):綁定的事件名
  • 第二個參數(shù):執(zhí)行的函數(shù)
  • 第三個參數(shù):
  • false:默認,代表冒泡時綁定
  • true:代表捕獲時綁定

target & currentTarget

false

我們給四個div元素綁定事件,且addEventListener第三個參數(shù)不設(shè)置,則默認設(shè)置為false

const a = document.getElementById('a')
const b = document.getElementById('b')
const c = document.getElementById('c')
const d = document.getElementById('d')
a.addEventListener('click', (e) => {
  const {
    target,
    currentTarget
  } = e
  console.log(`target是${target.id}`)
  console.log(`currentTarget是${currentTarget.id}`)
})
b.addEventListener('click', (e) => {
  const {
    target,
    currentTarget
  } = e
  console.log(`target是${target.id}`)
  console.log(`currentTarget是${currentTarget.id}`)
})
c.addEventListener('click', (e) => {
  const {
    target,
    currentTarget
  } = e
  console.log(`target是${target.id}`)
  console.log(`currentTarget是${currentTarget.id}`)
})
d.addEventListener('click', (e) => {
  const {
    target,
    currentTarget
  } = e
  console.log(`target是${target.id}`)
  console.log(`currentTarget是${currentTarget.id}`)
})

現(xiàn)在我們點擊,看看輸出的東西,可以看出觸發(fā)的是d,而執(zhí)行的元素是冒泡的順序

target是d currentTarget是d
target是d currentTarget是c
target是d currentTarget是b
target是d currentTarget是a

true

我們把四個事件第三個參數(shù)都設(shè)置為true,我們看看輸出結(jié)果,可以看出觸發(fā)的是d,而執(zhí)行的元素是捕獲的順序

target是d currentTarget是a
target是d currentTarget是b
target是d currentTarget是c
target是d currentTarget是d

區(qū)別

我們可以總結(jié)出:

  • e.target觸發(fā)事件的元素
  • e.currentTarget綁定事件的元素
責(zé)任編輯:武曉燕 來源: 前端之神
相關(guān)推薦

2022-04-24 15:30:51

前端Javascript

2022-02-25 11:04:21

Reactlanelanes

2020-06-12 09:20:33

前端Blob字符串

2020-07-28 08:26:34

WebSocket瀏覽器

2020-08-10 07:58:18

異步編程調(diào)用

2015-10-09 08:57:21

2011-09-15 17:10:41

2021-02-01 23:23:39

FiddlerCharlesWeb

2022-10-13 11:48:37

Web共享機制操作系統(tǒng)

2009-12-10 09:37:43

2010-08-23 09:56:09

Java性能監(jiān)控

2015-06-11 16:48:46

2020-09-15 08:35:57

TypeScript JavaScript類型

2022-11-04 08:19:18

gRPC框架項目

2021-10-17 13:10:56

函數(shù)TypeScript泛型

2020-08-11 11:20:49

Linux命令使用技巧

2012-11-23 10:57:44

Shell

2021-12-29 11:38:59

JS前端沙箱

2021-12-22 09:08:39

JSON.stringJavaScript字符串

2015-06-19 13:54:49

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91精品国产99 | 日韩av在线免费 | 成人夜晚看av | 亚洲午夜视频 | 精品一区二区三区免费视频 | 久视频在线观看 | 中文字幕视频在线看 | 美女黄18岁以下禁止观看 | 日韩av福利在线观看 | 成人性生交大免费 | 毛片免费在线观看 | 国产精品色哟哟网站 | 一本一道久久a久久精品蜜桃 | 国产精品不卡一区 | 午夜视频一区 | 亚州精品天堂中文字幕 | 日韩亚洲视频 | 日韩成人在线观看 | 久久久久久久久久久丰满 | 久久天堂网 | 亚洲人在线播放 | 99热国产在线播放 | 青青草社区 | 国产精品一区一区三区 | 日韩欧美三级电影在线观看 | 欧美专区在线 | 在线免费观看a级片 | 亚洲精品久久久 | 在线中文字幕av | 涩涩视频在线播放 | 亚洲视频三区 | a级黄色毛片免费播放视频 国产精品视频在线观看 | 精品久久久av | 九九九国产 | 少妇黄色 | 久久久久久久久中文字幕 | 在线毛片网| 日韩欧美网 | 欧美一区二区在线免费观看 | 亚洲精品3| 美女国内精品自产拍在线播放 |