我正在尝试使用 以编程方式在我的表单中移动焦点nextElementSibling
,但是我也在使用 Typescript 并想输入我的变量/常量......
我没有打字就成功了,并使用了以下内容:
myFunct(event) {
const myEl = event.srcElement;
const nextElement = myEl.nextElementSibling;
if (nextElement) {
nextElement.focus();
}
}
但是,在代码上使用类型时,我遇到了不一致和以下 IntelliJ 警告:
“元素”类型上不存在属性“焦点”
myFunct(event: KeyboardEvent) {
const myEl: Element = event.srcElement;
const nextElement: Element = myEl.nextElementSibling;
if (nextElement) {
nextElement.focus();
}
}
然而,根据Mozilla 的说法,在谷歌搜索时,我发现 for 的类型nextElementSibling
实际上应该是Element
有人可以帮忙吗?
更新:
看来,KeyboardEvent
在event
实际上导致了问题..
来自MDN:Element 从其父元素 Element 继承属性,并实现来自 GlobalEventHandlers 和 TouchEventHandlers 的属性。
因此,您可以将代码更改为(使用typescriptlang.org测试的代码):
function myFunct(event: KeyboardEvent) {
const myEl = <HTMLElement>event.srcElement;
const nextElement = <HTMLElement>myEl.nextElementSibling;
if (nextElement) {
nextElement.focus();
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句