Создайте кнопку, которая «эмулирует» нажатие клавиши вверх или вниз на клавиатуре (TS) - PullRequest
0 голосов
/ 03 мая 2018

Я хочу создать кнопку, которая при нажатии на нее будет выполнять те же действия, как если бы вы нажимали стрелки вверх или вниз на клавиатуре.

Я искал вокруг, но ничего полезного не нашел.

Я работаю над угловым, так что это машинопись.

Есть идеи?

Спасибо

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Реализация HostListener в вашем компоненте

import { Component, HostListener } from '@angular/core';

    export class Component {
    @HostListener("window:keydown", ['$event'])

      onKeyDown(event: KeyboardEvent) {

        if (event.key == "ArrowUp" || event.key == "ArrowDown") {

          //call your function
        }
      }
    }
0 голосов
/ 03 мая 2018

pressKey(upOrDown: string) {
  if (upOrDown === 'up') {
    var e = new KeyboardEvent('keydown',{'keyCode':38,'which':38});
    document.dispatchEvent(e);
  } else if (upOrDown === 'down') {
    var e = new KeyboardEvent('keydown',{'keyCode':40,'which':40});
    document.dispatchEvent(e);
  }
}
<button (click)="pressKey(variable)">clickMe</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...