Функция скопировать E-mail и добавление другого класса к ней

Периодически на проектах разных требуется кнопка для копирования e-mail адреса, но не каждый знает как легко реализовать эту функцию на JS. В этом посте мы разберемся с этим. Меньше слов, больше дел как говорится.

Для начала нам нужен сам JS обработчик данной функции и он предоставлен ниже:

var copyEmailBtn = document.querySelector('.js-emailcopybtn');
copyEmailBtn.addEventListener('click', function(event) {
// Выборка ссылки с электронной почтой
var emailLink = document.querySelector('.js-emaillink');
var range = document.createRange();
range.selectNode(emailLink);
window.getSelection().addRange(range);
try {
// Теперь, когда мы выбрали текст ссылки, выполним команду копирования
var successful = document.execCommand('copy');
var msg = successful ? 'successful' : 'unsuccessful';
console.log('Copy email command was ' + msg);
} catch(err) {
console.log('Oops, unable to copy');
}
// Снятие выделения - ВНИМАНИЕ: вы должны использовать
// removeRange(range) когда это возможно
window.getSelection().removeAllRanges();
});
var copy_email = document.getElementById("copy__email");
function buy(){
copy__email.innerHTML = 'E-mail скопирован';
var element = document.getElementById("copy__email");
element.classList.add("blue_btn");
}

Поле с email

<a class="mail js-emaillink" href="mailto:email@test.ru">email@test.ru</a>

Кнопка копирования Email

<a id="copy__email" class="copy but1 js-emailcopybtn">Скопировать</a>