javascript - 'focus' 上不存在属性 'Element' ?

标签 javascript reactjs typescript

创建键盘导航,遇到以下问题:

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> ,但似乎不那么喜欢。

我错过了什么?

最佳答案

我建议尝试这样的事情:

let currentActive = document.activeElement;
if (e.key === "ArrowLeft") {
  (currentActive.previousElementSibling as HTMLElement)?.focus();
}

请注意,自 TypeScript 3.7 起可选链可用

关于javascript - 'focus' 上不存在属性 'Element' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59614647/

相关文章:

javascript - 具有等间距 DIV 的流体宽度 + 最后一行左对齐

javascript - 无法让 select2 + geonames 一起工作

javascript - 如何在 setState 回调之外将 .map() val 和 key 渲染为 prop

javascript - typescript : determine if 2 lists have at least one common element

angular - 异步/等待 __generator 未定义

javascript - Visual Studio Code - 如何调试 node.js 路由?

javascript - 双击子菜单设备

node.js - 在 NodeJS 中执行 webpack 编译的 bundle

reactjs - 禁用或启用 map 拖动

reactjs - 如何根据当前动态页面使 Next.js 链接动态化?