Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重置Vue SPA页面上的焦点_Javascript_Vue.js_Focus_Accessibility_Single Page Application - Fatal编程技术网

Javascript 重置Vue SPA页面上的焦点

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,但也不起作用。有

我正在用Vue路由器应用程序开发Vue SPA,并试图通过在更改路由后重置焦点状态来模拟oage重新加载。这是我的密码:

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();
});