Так что слушайте событие вставки. Определите, есть ли оно во входе. Если это не так, прочитайте данные буфера обмена и сделайте что-нибудь с ними.
window.addEventListener("paste", function (evt) {
if (!['TEXTAREA', 'INPUT'].includes(evt.target.nodeName)) {
const clipboardData = evt.clipboardData || window.clipboardData
const pastedData = clipboardData.getData('Text')
var ta = document.querySelector("textarea")
ta.value = ta.value + pastedData
}
})
<p>Hello</p>
<textarea></textarea>
<input />
<p>Hello</p>