——不重复!由于其他问题已过时。不与提出的问题重复!!!!
this.elm.nativeElement.ownerDocument.activeElement
Run Code Online (Sandbox Code Playgroud)
还
document.activeElement
Run Code Online (Sandbox Code Playgroud)
奇怪地给了我整个身体。我怎样才能获得当前聚焦的元素?
elm = ElementRef 的类型,它绑定在我组件的构造函数中。
来自这里的另一个问题: this.renderer.invokeElementMethod 也不可调用,因为 Renderer 现在已弃用,而 Renderer2 显然不再具有该方法。
编辑:这个问题部分回答了这个问题:
在离开旧元素和进入新元素之间,活动元素确实是文档/正文本身。
我必须在超时内覆盖“document.activeElement”或“this.elm.nativeElement.ownerDocument.activeElement”,以便下一个角度生命周期检查活动元素。否则,当“X.activeElement”在焦点更改后立即执行时,您将获得整个主体,因为在输入新元素时,活动元素确实是文档/主体本身。
setTimeout(function() {
  X = document.activeElement;
});
Run Code Online (Sandbox Code Playgroud)
编辑 ES6(也可以使用“this”):
setTimeout(() => {
  X = document.activeElement;
});
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           10944 次  |  
        
|   最近记录:  |