Wie kann ich eine beliebige Taste drücken erkennen auf Angular 2 (zB nicht notwendigerweise in einem Eingabefeld)Wie erkennt man einen beliebigen Tastendruck in Angular 2?
Zur Zeit habe ich es geschafft diese mit dem folgenden Code zu tun:
import {Component, HostListener} from "@angular/core";
@Component(<any>{
selector: 'foo',
template: `<h1>Foo</h1>`,
})
export class FooComponent {
@HostListener('document:keypress', ['$event'])
keypress(e: KeyboardEvent) {
console.log("Key Up! " + e.key);
}
}
Der obige Code verwaltet funktionieren für die meisten Charaktere z alphanumerische Zeichen, Interpunktionszeichen, Symbole usw.
Das Problem ist, dass diese Methode nicht ausgeführt, wenn Tasten wie SHIFT, CTRL, F1 ... F12, Tab, ALT usw.
Sie müssen ('Dokument: keydown') anstelle von Tastendruck verwenden, um Schicht, Strg, etc ... zu erhalten –
Es funktioniert! Bitte machen Sie Ihren Kommentar als Antwort, damit ich es akzeptieren kann. –
Könnte der Antwort (Doku) hinzugefügt werden: https://angular.io/docs/ts/latest/guide/user-input.html – bene