创建键盘导航,并面临以下问题:
let currentActive = document.activeElement;
if (e.key === "ArrowLeft") {
currentActive.previousElementSibling.focus();
}
该代码可以正常工作,但是TypeScript抱怨
Property 'focus' does not exist on 'Element'?
-currentActive
是<img />
标记。我试图通过这样做将currentActive分配为HTMLElement:
let currentActive = document.activeElement as HTMLCollectionOf<HTMLElement>
,但似乎并不喜欢。我想念什么?
最佳答案
您需要使TS确信currentActive.previousElementSibling
是HTMLElement
类型。
作为奖励,我建议您说服自己,避免在控制台中出现一些红叉。也许与currentActive.previousElementSibling.focus && currentActive.previousElementSibling.focus();
相似