以前還蠻陌生的東西。
簡述
瀏覽器在幫我們呼叫 callback function 時,他會傳入一個參數:event
這裡面會放很多跟事件有關的東西,例如說:
1 2 3 4 5 6
| const btn = document.querySelector('.btn')
btn.addEventListener('click', function(event) { console.log(event) })
|
Output:
1 2 3 4 5 6 7 8 9 10 11 12 13
| { isTrusted: true altKey: false altitudeAngle: 1.5707963267948966 azimuthAngle: 0 bubbles: true button: 0 buttons: 0 cancelBubble: false cancelable: true ... }
|
有點抽象的話可以想成這樣子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| const btn = document.querySelector('.btn') btn.addEventListener('click', onClick)
function onClick(event) { console.log(event) }
onClick({ isTrusted: true altKey: false altitudeAngle: 1.5707963267948966 azimuthAngle: 0 bubbles: true button: 0 buttons: 0 cancelBubble: false cancelable: true ... })
|
event.target
這是最常用到的一個東西,用來告訴你「是哪一個元素觸發事件(最直接的那個)」
沿用剛剛的例子:
1 2 3 4
| const btn = document.querySelector('button') btn.addEventListener('click', function(event) { console.log(event.target) })
|
Output:
1
| <button>Click me</button>
|