我的页面上有几个按钮。在页面加载时,如果我按“ Enter”键,它将单击特定按钮。当用户在页面加载时点击“ Enter”时,我想单击另一个按钮。
我已经尝试过了:
HTML:
<button type="submit" (click)="submitted()" id="submit-btn"><span #defaultButton>Submit</span> </button>
答案 0 :(得分:0)
您已尝试将按钮正确配置为type="submit"
。
问题出在您视图中的所有其他按钮上。您需要将它们配置为type="button"
才能正常工作。
答案 1 :(得分:0)
您可以使用@HostListener
来检测文档事件并覆盖它们。
@ViewChild('defaultButton') defaultButton : ElementRef;
@HostListener('document:keydown.enter', ['$event']) onKeydownHandler(event: KeyboardEvent) {
event.preventDefault();
this.defaultButton.nativeElement.click();
}
以下是您的代码的实时示例:
https://stackblitz.com/edit/angular-vynxve
一个了解HostListener
和HostBinding
的好地方:
https://codecraft.tv/courses/angular/custom-directives/hostlistener-and-hostbinding/
答案 2 :(得分:0)
<button type="submit" (keyup.enter)="submitted()" id="submit-btn"><span #defaultButton>Submit</span> </button>