首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当路径在角上改变时,可访问性-Focus丢失

当路径在角上改变时,可访问性-Focus丢失
EN

Stack Overflow用户
提问于 2020-01-24 01:24:13
回答 3查看 1.9K关注 0票数 3

在组件之间导航的焦点正在丢失,我已经强制将焦点设置为菜单按钮,但是一旦路由器导航被更改,焦点也会丢失。是否有修复方法来重置路由更改的焦点?

这些属性也不工作(自动焦点,设置焦点,cdkfocusinitial).

EN

回答 3

Stack Overflow用户

发布于 2020-01-28 02:24:20

最后得到了解决方案,最初模糊了元素,并将焦点设置为相同的元素...working精细!

代码语言:javascript
运行
AI代码解释
复制
let blurElement: HTMLElement = document.getElementsByClassName('menubutton')[0] as HTMLElement;
blurElement.blur();

setTimeout(function(){
  let focusElement: HTMLElement = document.getElementsByClassName('menubutton')[0] as HTMLElement;
  focusElement.focus();
},0);
票数 1
EN

Stack Overflow用户

发布于 2020-01-24 01:43:22

票数 0
EN

Stack Overflow用户

发布于 2020-01-24 04:49:32

这不是完全解决的问题,但是有一些更好、更坏的方法来处理它。我认为在呈现新路由的内容之后,您将不得不调用focus(),尽管已经有各种尝试使这种情况自动发生,而这一点(正如其他人所指出的那样)并不能真正正常工作。

真正的问题是应该把重点放在上。这可以是简单的,也可以是有挑战性的,取决于您在页面顶部的内容。

请务必阅读这(长)条关于在单页应用程序中更改路由时如何处理焦点的内容。这是迄今为止关于这一主题的最好的实证研究,并提出了一些可行的建议。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59893531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档