Javascript 重置Vue SPA页面上的焦点
我正在用Vue路由器应用程序开发Vue SPA,并试图通过在更改路由后重置焦点状态来模拟oage重新加载。这是我的密码:Javascript 重置Vue SPA页面上的焦点,javascript,vue.js,focus,accessibility,single-page-application,Javascript,Vue.js,Focus,Accessibility,Single Page Application,我正在用Vue路由器应用程序开发Vue SPA,并试图通过在更改路由后重置焦点状态来模拟oage重新加载。这是我的密码: router.beforeEach((to, from, next) => { document.activeElement.blur(); next(); }); 我的问题是,焦点确实会在更改后立即返回到body元素,但在下一个焦点上,它会返回到原来的位置,在本例中是footer,而不是“跳到内容”按钮。我尝试显式地将焦点设置为window,但也不起作用。有
router.beforeEach((to, from, next) => {
document.activeElement.blur();
next();
});
我的问题是,焦点确实会在更改后立即返回到body元素,但在下一个焦点上,它会返回到原来的位置,在本例中是footer,而不是“跳到内容”按钮。我尝试显式地将焦点设置为window,但也不起作用。有没有人知道如何重新设置焦点流,让它真正重新开始?任何帮助都将不胜感激 基于此,我在前面添加了tabindex-1
,然后将其删除。它成功了
router.beforeEach((to, from, next) => {
document.body.setAttribute("tabindex", "-1");
document.body.focus();
document.body.removeAttribute("tabindex");
next();
});