Как добавить в буфер обмена ссылку из атрибута href?

Имеется ссылка и кнопка. Как при нажатии на кнопку скопировать содержимое именно href? Может какая то библиотека есть JQ?

    <a href="https://www.google.com" class="link"></a>
<a class="click-btn">Нажми для копирования ссылки link</a>

Ответы (1 шт):

Автор решения: nazarpunk

На enSO уже был похожий вопрос.

const $target = document.querySelector(`.link`);
const $button = document.querySelector(`.click-btn`);

$button.addEventListener(`click`, e => {
  e.preventDefault();

  navigator.clipboard.writeText($target.href).then(() => {
    console.log('Async: Copying to clipboard was successful!');
  }, err => {
    console.error('Async: Could not copy text: ', err);
  });

});
a {
  display: block;
  border: 1px solid purple;
  cursor: pointer;
  margin: .5rem;
  padding: .5rem;
}
<a href="https://www.google.com" class="link">Ссылка</a>
<a class="click-btn">Нажми для копирования ссылки link</a>

→ Ссылка