@Shimpanze

Как выделить все содержимое контейнера div и скопировать в буфер обмена?

Добрый день!

Подскажите, пожалуйста, есть div с классом entry-content.

<div class="entry-content">
  <p>Привет!</p>
  <p>Мир.</p>
</div>
<br>
<button>Выделить и скопировать в буфер</button>


Мне необходимо при клике на кнопку, автоматически выделить всё содержимое этого дива и скопировать в буфер обмена.

Копирование в буфер, вроде происходит так:

document.execCommand('copy');

А вот как выделить всё содержимое контейнера, никак не пойму. Нужно именно на чистом JS реализовать.

Песочница

Большое спасибо!
  • Вопрос задан
  • 822 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
var content = document.querySelector(".entry-content");
var button = document.querySelector("#button");

function copyToClipboard(el) {
	var range;
	if (document.selection) {
		range = document.body.createTextRange();
		range.moveToElementText(el);
		range.select().createTextRange();
	} else if (window.getSelection) {
		range = document.createRange();
		range.selectNode(el);
		window.getSelection().addRange(range);
	} else return;
	
	document.execCommand("copy");
	
}

button.addEventListener('click', () => copyToClipboard(content));


CodePen
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
bootd
@bootd
Гугли и ты откроешь врата знаний!
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
28 нояб. 2024, в 05:21
2000 руб./за проект
28 нояб. 2024, в 05:18
500 руб./за проект
28 нояб. 2024, в 03:51
3500 руб./за проект