Home > Mobile >  How to create keyboard shortcuts with Angular?
How to create keyboard shortcuts with Angular?

Time:07-19

I'm having trouble trying to find a way to create keyboard shortcuts with it. I mean, where and how can I code something like ctrl t increases font size of the site?

CodePudding user response:

Of course this can be accomplished with vanilla javascript, but Angular has the @HostListener decorator to make listening for events simpler: https://angular.io/api/core/HostListener

You put the decorator over a component's function to add an event listener that executes the function on an event.

Don't use ctrl t though, that's "new tab" for all browsers, and I don't believe you can override it.

To listen for ctrl b on the entire window it would be like this:

  @HostListener('window:keydown.control.b', ['$event'])
  bigFont(event: KeyboardEvent) {
    event.preventDefault();
    document.body.style.fontSize = '32px';
  }

event.preventDefault() prevents any default browser actions caused by the event, if possible.

Stackblitz: https://stackblitz.com/edit/angular-ivy-2rhyep?file=src/app/app.component.ts

Note: the listeners are cleaned up if the enclosing component is destroyed.

  • Related