Выделение / копирование текста с использованием JavaScript или jQuery

Я слышал, что вы можете• копировать текст (в браузере), не используя что-то вроде Flash; Итак, есть ли способ выделить текст с помощью якоря и JavaScript или jQuery.

<p>Text to be copied</p>

<a>Copy Text Above</a>
 LazerSharks19 окт. 2012 г., 23:01
возможно что-то с .text ()?
 David Hellsing19 окт. 2012 г., 22:53
Просто чтобы уточнить: вы спрашиваете, как скопировать выделенный текст в буфер обмена с помощью JavaScript?
 user165875619 окт. 2012 г., 23:01
Нет, яМне бы хотелось, чтобы после щелчка мышью был выбран текст (например, текст в <p>) копируется в буфер обмена.

Ответы на вопрос(4)

ы что-то вроде:

$('a').click(function() {
    window.prompt('Press ctrl/cmd+c to copy text', $(this).prev('p').text());
});

http://jsfiddle.net/JFFvG/

Решение Вопроса

Приведенный ниже пример HTML:


    <p class="copyToClipboard">
        <a id="selectAll">Select All Text</a>
    </p>
    This is some sample text that I want to be select to copy to the clipboard

Вы можете выделить текст внутри текстовой области с помощью следующего jQuery:

$("#selectAll").click(function () {
    $(this).parents(".announcementInfoText").children("textarea").select();
});

Теперь, когда текст "Это пример текста, который я хочу выбрать, чтобы скопировать в буфер обмена " выбран, вы можете просто нажать Ctrl + C и текст будет скопирован в буфер обмена.

В новых браузерах вы можете сделать это, чтобы выбрать и скопировать. Это чисто решение Javascript.

function copy_text(element) {
    //Before we copy, we are going to select the text.
    var text = document.getElementById(element);
    var selection = window.getSelection();
    var range = document.createRange();
    range.selectNodeContents(text);
    selection.removeAllRanges();
    selection.addRange(range);
    //add to clipboard.
    document.execCommand('copy');
}

Эта команда копирования работает во всех основных браузерах: Chrome, Firefox (Gecko), Internet Explorer и Opera, кроме Safari.

Я нашел это решение jQuery:

$(function() {
 $('input').click(function() {
 $(this).focus();
 $(this).select();
 document.execCommand('copy');
 $(this).after("Copied to clipboard");
 });
});

Источник

Ваш ответ на вопрос