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

e.target 和 e.currentTarget 的區別?你到底知不知道?

開發 前端
大家開發中經常會跟DOM的事件打交道,也會經常用到??e.target??和??e.currentTarget??這兩個對象,看看它們有什么區別!

背景

大家開發中經常會跟DOM的事件打交道,也會經常用到??e.target??和??e.currentTarget??這兩個對象,但是卻有很多人根本就不知道這兩個有什么區別~~~

冒泡 & 捕獲

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

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

addEventListener

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

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

target & currentTarget

false

我們給四個div元素綁定事件,且??addEventListener??第三個參數不設置,則默認設置為??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}`)
})

現在我們點擊,看看輸出的東西,可以看出觸發的是d,而執行的元素是冒泡的順序

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

true

我們把四個事件第三個參數都設置為??true??,我們看看輸出結果,可以看出觸發的是d,而執行的元素是捕獲的順序

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

區別

我們可以總結出:

  • ??e.target??:觸發事件的元素
  • ??e.currentTarget??:綁定事件的元素
責任編輯:龐桂玉 來源: 前端大全
相關推薦

2024-04-03 10:24:01

e.targetDOM元素

2022-02-25 11:04:21

Reactlanelanes

2020-07-28 08:26:34

WebSocket瀏覽器

2020-06-12 09:20:33

前端Blob字符串

2020-08-10 07:58:18

異步編程調用

2015-10-09 08:57:21

2010-08-23 09:56:09

Java性能監控

2011-09-15 17:10:41

2009-12-10 09:37:43

2022-10-13 11:48:37

Web共享機制操作系統

2021-02-01 23:23:39

FiddlerCharlesWeb

2015-06-11 16:48:46

2021-10-17 13:10:56

函數TypeScript泛型

2020-08-11 11:20:49

Linux命令使用技巧

2021-12-22 09:08:39

JSON.stringJavaScript字符串

2015-06-19 13:54:49

2021-12-29 11:38:59

JS前端沙箱

2012-11-23 10:57:44

Shell

2022-11-04 08:19:18

gRPC框架項目

2020-09-15 08:35:57

TypeScript JavaScript類型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 韩国精品在线观看 | 日本羞羞影院 | 欧美日韩综合一区 | 亚洲人精品午夜 | 亚洲日韩中文字幕一区 | 激情欧美一区二区三区中文字幕 | 成年人黄色一级片 | 四虎首页| 成人在线国产 | 91麻豆产精品久久久久久夏晴子 | 精品久久久网站 | 久国久产久精永久网页 | 国产精品九九九 | 黄色成人亚洲 | 亚洲小视频 | 国产免费看 | 91麻豆精品国产91久久久久久久久 | 一区精品视频在线观看 | 福利久久 | 一级毛片在线看 | 亚洲一区在线播放 | 黄色一级大片在线免费看产 | 一区二区三区欧美 | 一区二区三区四区五区在线视频 | 欧美日韩国产三级 | 成人动漫一区二区 | 99久久精品国产一区二区三区 | 国产在线观看福利 | 精品毛片 | 日韩在线精品视频 | 在线观看第一页 | 精品一区电影 | 亚洲性人人天天夜夜摸 | 久热久 | 国产小视频自拍 | 国产人成精品一区二区三 | 亚洲va欧美va人人爽午夜 | 久久久精品综合 | 午夜一区二区三区在线观看 | 中文字幕 亚洲一区 | 久草网站 |