Если я вас правильно понял, вы хотите что-то вроде этого:
let copyToClipboard = string => {
let el = document.createElement('textarea');
el.value = string;
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
};
document.querySelectorAll('a')
.forEach(nodeElement => {
nodeElement.addEventListener('mouseenter', ({target}) => {
if (!target.href) return;
copyToClipboard(target.href);
}, false)
})
С событием keydown:
document.body.addEventListener('keydown', event => {
if (event.ctrlKey && event.altKey && event.key === 'C') {
...
}
}, false);
Другая версия (с методом copyToClipboard):
window.lastHoveredLink = '';
document.body.addEventListener('mousemove', ({target}) => {
if (target.nodeName !== 'A') return;
window.lastHoveredLink = target.href;
}, false);
document.addEventListener('keydown', event => {
if (window.lastHoveredLink
&& event.ctrlKey
&& event.altKey
&& event.code === 'KeyC') {
copyToClipboard(window.lastHoveredLink);
}
}, false);