Angular 2 HostListener Keypress Detect Escape Key?
Answer :
Try it with a keydown or keyup event to capture the Esc key. In essence, you can replace document:keypress with document:keydown.escape:
@HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) { console.log(event); } It worked for me using the following code:
const ESCAPE_KEYCODE = 27; @HostListener('document:keydown', ['$event']) onKeydownHandler(event: KeyboardEvent) { if (event.keyCode === ESCAPE_KEYCODE) { // ... } } or in shorter way:
@HostListener('document:keydown.escape', ['$event']) onKeydownHandler(evt: KeyboardEvent) { // ... } Modern approach, event.key == "Escape"
The old alternatives (.keyCode and .which) are Deprecated.
@HostListener('document:keydown', ['$event']) onKeydownHandler(event: KeyboardEvent) { if (event.key === "Escape") { // Do things } }
Comments
Post a Comment