如何检查按钮是否有焦点?

phy*_*boy 1 html button typescript angular

我有一个表单,我想使用ENTER键在字段中选项卡,但我也想在我突出显示(通过Tab键/输入)发送按钮时使用ENTER键提交表单.

有什么方法可以判断输入按钮是否已被聚焦?

我想的是:

<form (keydown.enter)="isSendFocussed($event)">
    <input #input1> <!-- input 1 -->
    <input #input2> <!-- input 2 -->
    <input #input3> <!-- input 3 -->
    <button #myButton (click)="sendForm()">Send</button>
</form>
Run Code Online (Sandbox Code Playgroud)

然后我会为这个isSendFocussed(event)功能做一些事情,比如:

@ViewChild('myButton') btn: ElementRef<HTMLInputElement>

isSendFocussed(event) {
    // if (!button is focussed) {
    //     block default functionality and tab across
    // } else {
    //     send form
    // }
}
Run Code Online (Sandbox Code Playgroud)

Ján*_*ert 5

您可以使用焦点和模糊事件,如下所示:

<button
   (click)="onFavPopupClose()"
   (focus)="isBtnPopCloseFocused = true" 
   (blur)="isBtnPopCloseFocused = false">
</button>
Run Code Online (Sandbox Code Playgroud)