我只在 Chrome 浏览器上遇到这个奇怪的问题。我scrollIntoView
在页面加载后使用方法(角度组件的ngAfterViewInit)。因此,当页面加载并滚动到元素时,一切都很好。现在,当我按下 TAB 键时,焦点从 Chrome 上 scrollIntoView 元素的下一个元素开始。在其他浏览器上,焦点从 DOM 的第一个元素开始。
有没有办法让焦点应该从 DOM 的第一个元素开始,即使在页面加载上使用 scrollIntoView 之后
问题可以在这里重现 - https://scrollintoview-issue.stackblitz.io/
- 在 Chrome 中打开链接,然后按 TAB
- 在 Firefox 或 Edge 中打开它并按 TAB
- 注意焦点从哪里开始的区别
ngAfterViewInit() {
const eleToScroll = this._el.nativeElement.querySelector('#checking1');
eleToScroll.scrollIntoView();
}
预期 - 在 Chrome 上,焦点不应从 scrollIntoView 元素的下一个元素开始。它应该从 DOM 中的第一个元素开始
实际 - 焦点从页面加载时 scrollIntoView'ed 元素的下一个元素开始。