如何使用带有TypeScript的Angular在单击按钮时聚焦div块

时间:2017-09-19 13:27:17

标签: javascript angular typescript

我有一个按钮和另一个包含一些内容的div。我想在用户点击按钮时将焦点设置为div。我知道在javascript中我可以通过document.getElementById(" divID")。focus();但是在打字稿中是否有任何方法。

2 个答案:

答案 0 :(得分:0)

您可以使用@ViewChild

@ViewChild('selector') selector: ELementRef;

focus() {
    this.selector.nativeElement.focus()
}

在html中       

   <button (click)='focus()'> focus</button>

并且2方法将是

 <sole-element #el> <sole-element>
<button (click)='focus(el)'> focus</button>
or
<button (click)='el.focus()'> focus</button>

和ts文件

 focus(el) {
    el.nativeElement.focus()
}

答案 1 :(得分:0)

试试这个:

html文件中的

<div>
    <button class="btn btn-primay" (click)="onFocus()">onFocus</button>
</div>
<div>
        <input type="text" name="name" #focusContent>
</div>

<强> component.ts

import { Component, ElementRef, ViewChild } from '@angular/core';

export class AppComponent {
    @ViewChild('focusContent') el: any;

    onFocus() {
        this.el.nativeElement.focus();
    }
}