Слушатель событий Window Paste не работает в IE 11 - PullRequest
0 голосов
/ 31 мая 2018

Это мой код, который отлично работает в Chrome.

public ngOnInit() {
    window.addEventListener('paste', this.InsertNewRowsBeforePaste.bind(this));
  }

. В Chrome срабатывает только это, если пользователь выбирает Ctrl + V в моем компоненте, который в данном случае является пользовательской сеткой

InsertNewRowsBeforePaste(event) {       
    console.log(event);
    console.log(window);
    // gets data from clipboard and converts it to an array (1 array element for each line)
    let clipboardData = event.clipboardData || event.originalEvent['clipboardData'].getData('text');
    if (!clipboardData) {
      clipboardData = window['clipboardData'].getData('Text');
    }  
}

Проблема в IE11: InserNewRowsBeforePaste никогда не запускается, так как моя консоль никогда не регистрирует событие или окно.Почему это так?

1 Ответ

0 голосов
/ 05 июня 2018

Я понял это.Вы должны захватить событие нажатия клавиши в IE, которое будет имитировать поведение Ctrl + V, после чего вы сможете получить доступ к буферу обмена оттуда

this.global = this.renderer.listen('document', 'keydown', (event) => {
        if (event.ctrlKey === true && event.key === 'v') {
          const clipboardData = window['clipboardData'].getData('Text');
          if (clipboardData) {
            // Call any method to manipulate the clipboard data here
          }
        }
      });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...