Удаляем стили текста при копировании

При копировании частей текста со страницы бизнес приложения, например, в Microsoft Word с текстом наследуются так же его стили. Пользователям не всегда нужно такое поведение. Сделаем так, чтобы скопированный текст был очищен от разного рода стилей.

Все современные браузеры при помощи JavaScript позволяют:

  1. Перехватить событие копирования.
  2. Получить выделение текста без стиля.
  3. Поместить содержимое этого выделения в буфер обмена.

JavaScript реализация:

document.addEventListener('copy', function(e) {
  const textOnly = document.getSelection().toString();
  const clipData = e.clipboardData || window.clipboardData;  
  clipData.setData('text/plain', textOnly);
  clipData.setData('text/html', textOnly);
  e.preventDefault();
});

TypeScript реализация:

document.addEventListener('copy', function (e) {
const textOnly = document?.getSelection()?.toString();
const clipData = e.clipboardData || (window as any).clipboardData;
clipData.setData('text/plain', textOnly);
clipData.setData('text/html', textOnly);
e.preventDefault();
});