博客 / 詳情

返回

event.target VS event.currentTarget

定義

event.target為觸發事件的元素。
event.currentTarget為綁定事件處理函數的元素。

示例代碼

// 示例代碼
<div>
    <button>按鈕</button>
</div>

事件處理程序綁定在div上

當我們點擊div時:
event.targetdiv
event.currentTargetdiv

當我們點擊button時:
event.targetbutton
event.currentTargetdiv

<div onClick="onClick">
    <button>按鈕</button>
</div>

// 點擊div
const onClick = (event) => {
    console.log(event.target)
    // 為div

    console.log(event.currentTarget) 
    // 為div
}

// 點擊button
const onClick = (event) => {
    console.log(event.target)
    // 為button

    console.log(event.currentTarget)
    // 為div
}

事件處理程序綁定在button上

當我們點擊div時:
由於div上沒有事件處理函數,所以點擊後無事發生。

當我們點擊button時:
event.targetbutton
event.currentTargetbutton

<div>
    <button onClick="onClick">按鈕</button>
</div>

// 點擊button
const onClick = (event) => {
    console.log(event.target)
    // 為button

    console.log(event.currentTarget)
    // 為button
}
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.