gpt4 book ai didi

javascript - 为什么 currentTarget 值为空

转载 作者:行者123 更新时间:2023-12-05 00:31:12 27 4
gpt4 key购买 nike

我在学习 event.targetevent.currentTarget .我想我很清楚两者之间的区别。但陷入了event.currentTarget值原来是空的。
以下是 HTML 和 JS 代码片段,位于 codepen .
HTML 代码

<form id="form">
This is a form
</form>
JavaScript 代码
 form.addEventListener('click', func);

function func(event) {
console.log(event.target.tagName); //line1
console.log(event.currentTarget.tagName); //line2

setTimeout(()=> {
console.log(event.target.tagName); //line3
console.log(event.currentTarget.tagName); //line4
}, 0) ;
}
我怀疑在 line1 和 line3 我得到了 event.target 的值相同。但是 event.currentTarget的值有区别在第 2 行和第 4 行。
第 3 行的输出是 'form',但第 4 行是:

Uncaught TypeError: Cannot read property 'tagName' of null.


这意味着 currentTarget在第 4 行 中为空.
你能解释一下为什么 currentTarget 的值吗?是 null在第 4 行?

最佳答案

https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget .注意 Note: The value of event.currentTarget is only available while the event is being handled. If you console.log() the event object, storing it in a variable, and then look for the currentTarget key in the console, its value will be null 行.

关于javascript - 为什么 currentTarget 值为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66085763/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com