Копирование текста в буфер обмена

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Делаем копирование текста в буфер обмена, на основе document.execCommand

document.execCommand(«copy»)

Приведу сначало стандартный код без использования JQuery


<!DOCTYPE html>
<html>
<body>

<p>Нажмите на кнопку, чтобы скопировать текст из текстового поля. Попробуйте вставить текст (например, Ctrl + V) в другое окно, чтобы увидеть эффект.</p>

<input type="text" value="Hello World" id="myInput">
<button onclick="myFunction()">Copy text</button>

<p>Метод document.execCommand () не поддерживается в IE9 и более ранних версиях.</p>

<script>
function myFunction() {
var copyText = document.getElementById("myInput");
copyText.select();
document.execCommand("copy");
alert("Copied the text: " + copyText.value);
}
</script>

</body>
</html>

Тут мы видим что на кнопку вешается событие onclick, которое вызывает функцию myFunction(), в которой уже и происходит копирование текста в буфер обмена.

А теперь изменим логику. Допустим нам надо скопировать текст не с input а с div.


<!DOCTYPE html>
<html>
<head>
. . .
</head>
<body>

<p>Нажмите на кнопку, чтобы скопировать текст из текстового поля. Попробуйте вставить текст (например, Ctrl + V) в другое окно, чтобы увидеть эффект.</p>
<div class="block-icons">
 <ul>
  <li><div class="copy-ico">111</div><div class="copy-btn">Копировать</div></li>
  <li><div class="copy-ico">222</div><div class="copy-btn">Копировать</div></li>
  <li><div class="copy-ico">333</div><div class="copy-btn">Копировать</div></li>
 </ul>
</div>

<p>Метод document.execCommand () не поддерживается в IE9 и более ранних версиях.</p>

<script>
jQuery(document).ready(function($){
 $('.block-icons ul li .copy-btn').click(function() {
  var copyText = $(this).parent().find('.copy-ico').text();
  var copytext2 = document.createElement('input');
  copytext2.value = copyText;
  document.body.appendChild(copytext2);
  copytext2.select();
  document.execCommand("copy");
  document.body.removeChild(copytext2);
 });
});
</script>

</body>
</html>

Код в работе

  • 111
    Копировать
  • 222
    Копировать
  • 333
    Копировать

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *