首页 > 解决方案 > Angular 2 nativeElement.focus 在移动设备上不起作用

问题描述

我正在尝试focus在另一个element click. 电脑上一切正常,手机上就不行了
我就是这样做的:

触发responsive()函数focus图标input

<i (click)="responsive()" class="material-icons search-iko">search</i>

输入:

<input type="text" #inputas>

功能:

@ViewChild('inputas') inputas: ElementRef;
responsive() {
  setTimeout(() => {
    this.inputas.nativeElement.focus();
  }, 1);
}

在移动设备上 - 焦点就像 CSS 一样工作,不会触发键盘(如果你想写,你需要点击)。

***此输入有两种样式版本 onfocus 和 without focus。在 responsive() 函数出现 onfocus 样式后,但它不仅仅专注于移动设备。*

尝试 v2(也尝试使用角度渲染器)相同的结果:

private renderer: Renderer2
this.renderer.selectRootElement(this.inputas["nativeElement"]).focus();

我发现 javascript focus() 不适用于所有移动浏览器:

htmlElement.focus 浏览器支持

有没有其他方法可以将输入集中在移动设备上,例如www.imdb.com(单击搜索图标)?

标签: javascriptangulartypescript

解决方案


推荐阅读