0

我只在 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 元素的下一个元素开始。

4

0 回答 0