作者:me | 来源:互联网 | 2022-10-13 14:51
我的应用程序处于最后阶段,我们尚未在输入标签上实现自动对焦。现在我们有一个要求,我们希望将重点放在每个页面的第一个输入标签上。我的应用程序中有很多页面/表单,因此在每个组件中使用ViewChild可能是一项繁琐的任务。因此,我正在寻找一种方法,可以在其中某个地方编写一些代码,并且该代码可以触发着眼于加载任何页面的第一个输入。有人可以建议一些方法吗?
1> jitender..:
您可以在应用程序组件中订阅路由器事件,即使是NavigationEnd实例,也意味着发生路由更改,然后在页面上获取第一个输入并使用jquery进行聚焦,例如您的应用程序组件构造函数中的以下内容
router.events.subscribe((e) => {
if(e instanceof NavigationEnd)
{
var ele= $('input[type=text],textarea').filter(':visible:first').focus();
}
});
工作演示