-1

HTML にいくつかの div があり、その div をクリックしたときに div の内容をコピーしたいと考えています。

<div class="container">Hello</div>
<div class="container">World</div>
<div class="container">LearnJS</div>

したがって、最初の div をクリックすると、クリップボードに「Hello」がコピーされます。

このサイトを検索したところ、いくつかの zeroclipboard と clipboard.js が見つかりましたが、どのように使用すればよいかわかりません。私はjQueryが初めてです。

div の内部テキスト onclick をコピーする関数を作成するにはどうすればよいですか?

4

1 に答える 1

2

申し訳ありませんが、これが実用的な解決策です。以下の $('.c') セレクターに一致するように、クラスを「コンテナー」から「c」またはその他のものに変更するだけです (container非常に人気のあるライブラリである Bootstrap で使用されるクラスです)。DIV の 1 つをクリックすると、テキストが選択され、クリップボードにコピーされます。ところで、古いブラウザは動作しません。

$(function() {
    $('.c').on('click', function () {
        SelectText($(this)[0]);
        document.execCommand('copy');
    });

    function SelectText(element) {
        var doc = document, range, selection;
        if (doc.body.createTextRange) {
            range = document.body.createTextRange();
            range.moveToElementText(element);
            range.select();
        } else if (window.getSelection) {
            selection = window.getSelection();
            range = document.createRange();
            range.selectNodeContents(element);
            selection.removeAllRanges();
            selection.addRange(range);
        }
    }
});
于 2015-10-22T18:03:50.917 に答える