JS:在DOM元素上设置焦点不会更新document.activeElement



我目前正在尝试手动将焦点设置在两个按钮上。它们是jQuery对象,保存在一个名为pMenus的数组中。这是代码

function OpenSubMenus(pMenus) {
pMenus[pMenus.length - 1].get(0).focus();
$(pMenus[pMenus.length - 1]).click();

if (pMenus.length == 1) {
return;
}

setTimeout(() => {
pMenus[pMenus.length - 1].get(0).blur();
pMenus.pop();
OpenSubMenus(pMenus);
}, 1000)
}

问题是,在第二个手动.focus()上,activeElement停留在body of the page上。以前有人遇到过这个问题吗?

提前谢谢。

问题是pMenus[pMenus.length - 1]返回第二个按钮而不是第一个按钮。使用pMenus[pMenus.length - 2]获取第一个元素。

对不起,打扰大家了。正如我应该提到的,我没有为您提供足够的信息,即要聚焦的按钮不可见(visibility: hidden(。

如果元素可见,则问题中提到的代码有效。

谢谢你的帮助,祝你今天愉快。

相关内容

  • 没有找到相关文章

最新更新