Angular 2 HostListener keypress detect escape key? Angular 2 HostListener keypress detect escape key? angular angular

Angular 2 HostListener keypress detect escape key?


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    }}