currentTarget値がnullである理由 質問する

currentTarget値がnullである理由 質問する

私は学習中ですevent.target。この 2 つの違いは明確に理解していると思います。しかし、値が null になるevent.currentTarget状況に陥っています。event.currentTarget

以下は HTML および JS コード スニペットです。

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)  ;
 }

疑問なのは、行 1 と行 3 でevent.target同じ値が得られたことです。しかし、行 2 と行 4 では値が異なりますevent.currentTarget

3 行目の出力は 'form' ですが、4 行目では次のようになります。

キャッチされない TypeError: null のプロパティ 'tagName' を読み取ることができません

つまりcurrentTarget4行目はnullです

の値が4 行目にcurrentTargetある理由を説明できますかnull?

ベストアンサー1

https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget行に注意してください

注記:の値は、event.currentTargetイベントが処理されている間のみ使用できます。console.log()イベント オブジェクトを変数に格納し、currentTargetコンソールでキーを検索すると、その値は null になります。

おすすめ記事