【发布时间】:2021-05-21 16:01:32
【问题描述】:
我有一个onClick事件附加到一个按钮,当它被触发时,我需要获取按钮的nextElementSibling(这是一个视频元素),然后需要调用播放方法。 下面是 onClick 处理程序 -
const handleVideoEvent = (e: SyntheticEvent<HTMLButtonElement>) => {
e.currentTarget.parentElement.nextElementSibling.play();
}
现在,我知道打字稿编译器不知道兄弟元素的类型,所以为了让它知道我已经尝试使用下面的代码 -
const handleVideoEvent = (e: SyntheticEvent<HTMLButtonElement>) => {
const videoElement: HTMLVideoElement = e.currentTarget.parentElement.previousElementSibling;
videoElement.play();
}
但这显示了 videoElement 声明的另一个错误,即 -
类型“元素”缺少类型中的以下属性 'HTMLVideoElement':高度、playsInline、poster、videoHeight 和 158 更多。
我是打字稿的新手,任何帮助将不胜感激。
【问题讨论】:
标签: reactjs typescript dom html5-video