首页 > 解决方案 > 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. 有没有人遇到过这个问题?

提前致谢。

标签: javascripthtmlfocus

解决方案


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

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

感谢您的帮助,祝您有美好的一天。


推荐阅读