次のように、どこから呼び出されたかを検出するイベント リスナー コールバックを構築しようとしています。
import { TouchEvent } from 'react'
const isInvokedFromInsideContainer = (event: TouchEvent<HTMLElement>) => {
parentContainer = event.target.closest('#container')
console.log('isInvokedFromInsideContainer: ' + !!parentContainer)
}
でも私は
TS2339: プロパティ 'closest' はタイプ 'EventTarget' に存在しません
event.nativeEvent.target.closest
どちらも機能しません
event.currentTarget.closest
が、明らかにそれは望んでいません
ターゲットを HTMLElement としてキャストすると、次のようになります。
const target = (event.target as HTMLElement)
const parentContainer = target.closest('#container')
これを行う正しい方法は何ですか?
ベストアンサー1
このエラーは、直接キャストすることで修正しましたevent.target
。HTMLElement
あなたの場合は次のようになります:
...
parentContainer = (event.target as HTMLElement).closest('#container')
...