- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
加载组件时,我希望您在初始化后专注于第一个元素。我找到了一个教程,但它不适合我。
https://davidmcintosh.medium.com/auto-focusing-an-angular-input-the-easy-way-part-1-dcb1799e025f
但是如果我把它放在一个值为 0 的计时器中,那么它会很好用。但我不想使用计时器。
ngAfterViewInit(): void {
timer(0).subscribe(() => this.firstElement.nativeElement.focus());
}
为什么我需要一个值如此荒谬的计时器?
这是我的 HTML 代码:
<p class="news-title" tabindex="0" #firstElement>{{ 'news.title' | translate }}</p>
<ul class="news-list" role="list">
<li role="listitem" tabindex="0" class="list-item">{{ 'news.item-1' | translate }}</li>
<li role="listitem" tabindex="0" class="list-item">{{ 'news.item-2' | translate }}</li>
<li role="listitem" tabindex="0" class="list-item">{{ 'news.item-3' | translate }}</li>
</ul>
最佳答案
它对我有用,因为你的 <p>
标签是静态的,会一直存在,可以查询viewChild
与 {static: true}
,这种情况下它会在更改删除之前查询元素,请参阅 stackblitz .
@ViewChild('firstElement', {read: ElementRef, static: true})
firstElement?: ElementRef<unknown>;
ngAfterViewInit(): void {
(this.firstElement?.nativeElement as any).focus();
}
更好的解决方案是使用 Material 的 A11y CDK cdkTrapFocusAutoCapture , 请参阅 stackblitz
<p cdkTrapFocus="false" cdkTrapFocusAutoCapture class="news-title" tabindex="0" #firstElement>{{ 'news.title' }}</p>
<ul class="news-list" role="list">
<li role="listitem" tabindex="0" class="list-item">{{ 'news.item-1' }}</li>
<li role="listitem" tabindex="0" class="list-item">{{ 'news.item-2' }}</li>
<li role="listitem" tabindex="0" class="list-item">{{ 'news.item-3' }}</li>
</ul>
注意:
关于angular ngAfterViewInit 元素焦点不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68005047/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!