Удаляем стили текста при копировании
При копировании частей текста со страницы бизнес приложения, например, в Microsoft Word с текстом наследуются так же его стили. Пользователям не всегда нужно такое поведение. Сделаем так, чтобы скопированный текст был очищен от разного рода стилей.
Все современные браузеры при помощи JavaScript позволяют:
- Перехватить событие копирования.
- Получить выделение текста без стиля.
- Поместить содержимое этого выделения в буфер обмена.
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(); }); |