Обнаружение события копирования (https://developer.mozilla.org/en-US/docs/Web/API/Element/copy_event).
Используйте API setData для включения пользовательского типа данных, например текста или чего-либо еще. Это может включать в себя почти все, например, куда пользователь скопировалот, когда и т. д. Вы даже можете загрузить туда свое собственное представление пользовательских данных.
При вставке захватите соответствующее событие и найдите свой собственный тип данных.
Редактировать: Мои плохие,не читал внимательно о необходимости предотвращения дефолта.
document.addEventListener('copy', (event) => {
event.clipboardData.setData('text/test', 'sum text here');
const selection = document.getSelection();
// Essentially brute force copying selection.
const range = selection.getRangeAt(0);
const div = document.createElement('div');
div.appendChild(range.cloneContents());
const copy = div.innerHTML;
event.clipboardData.setData('text/html', copy);
event.preventDefault();
});
document.addEventListener('paste', (event) => {
const clipboard = (event.clipboardData || window.clipboardData);
let pasteTest = clipboard.getData('text/test');
let paste = clipboard.getData('text/html');
console.log (paste, '@@@@@@@@@@@', pasteTest);
});