1

他に選択肢がない場合にのみ、JScript を使用した経験はありません。しかし、私のサイトのユーザーに、生成された特定の PHP コードをクリップボードにコピーするオプションを提供してもらいたいです。

次のコードがあります

<?php 
    echo'<button class="btn" data-clipboard-text="'. htmlspecialchars("<pre><code>", ENT_HTML5) . $newText . htmlspecialchars("</code></pre>", ENT_HTML5) .'">Copy to Clipboard</button>';
?>
<script src="./clipboard.js"></script>
<script>
    var btn = document.getElementById('btn');
    var clipboard = new Clipboard(btn);
    clipboard.on('success', function(e) {
        console.log(e);
    });
    clipboard.on('error', function(e) {
        console.log(e);
    });
</script>

しかし、コンソールに次のエラー メッセージが表示されます。

TypeError: 最初の引数は String、HTMLElement、HTMLCollection、または NodeList でなければなりません

throw new TypeError('最初の引数は文字列、HTMLElement、HTMLCollectio でなければなりません...

clipboard.js の 152 行目

私は何を間違っていますか?

4

1 に答える 1

3

id が btn に設定されたボタンがないため、getElementById は null を返します。

null をクリップボードに渡しています。

于 2016-04-17T12:21:32.630 に答える