const convertMailto = () => { const copyToClipboard = str => { const el = document.createElement("textarea"); el.value = str; el.setAttribute("readonly", ""); el.style.position = "absolute"; el.style.opacity = "0"; el.style.pointerEvents = 'none'; document.body.appendChild(el); const selected = document.getSelection().rangeCount > 0 ? document.getSelection().getRangeAt(0) : false; el.select(); document.execCommand("copy"); document.body.removeChild(el); if (selected) { document.getSelection().removeAllRanges(); document.getSelection().addRange(selected); } }; const emails = Array.from( document.querySelectorAll(`a[href^="mailto:"]`) ); emails.forEach(email => { email.addEventListener("click", e => { e.preventDefault(); const email = e.target .getAttribute("href") .split("mailto:")[1] .split("?")[0]; copyToClipboard(email); }); }); }; convertMailto();