clipboard.js を機能させることができません。 this Fiddle ..のように最も単純な例を正しく機能させることすらできないので、全体がどのように機能するかについての単純な「誤解」だと思います。
私の特定の問題は、これを機能させることです。
HTML:
_<button class="copyButton"
id="copyButtonId"
data-id="@item.Type"
data-clipboard-action="copy"
data-clipboard-target="#[email protected]">
</button>
_
コピーする必要があるdivは次のとおりです。
_ <div id="[email protected]">
@item.Type
Name...: @item.Name
Address: @item.Address
</div>`
_
JSは次のとおりです。
_$(function() {
$(document).on("click", ".copyButton", function() {
var clipboard = new Clipboard(".copyButton");
clipboard.destroy();
});
});
_
関数に入りますが、何も起こりません。私は試した:
_clipboard.copy();
_
しかし、それは私に例外を投げます...
コピーしたいテキストを取得できます
var id= "copy_" + $(this).attr("data-id"); var source = ($("#" + agent).html());
しかし、私は_clipboard.js
_を使用することによってのみそれを解決できるはずです。
例がうまくいかないので、誰かが完全な例を見せてくれたら嬉しいです。私は本当に理解しようとしましたが、全体を考えすぎて、これを実際よりも複雑にしている可能性があります。以前に使用したので、回避策は必要ありません。これは優れたjsソリューションだと思います...理解できれば:)
正しい方向へのあらゆるヒントを歓迎します!
最初に正しいライブラリを追加してください;)
<script src="https://cdn.jsdelivr.net/clipboard.js/1.5.3/clipboard.min.js"></script>
またはローカルのmin.js
私はあなたのコードをこれに変更しました:
var clipboard = new Clipboard('.copyButton');
clipboard.on('success', function(e) {
console.log(e);
});
clipboard.on('error', function(e) {
console.log(e);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/clipboard.js/1.5.3/clipboard.min.js"></script>
<div id="copy">
@item.Type
Name...: @item.Name
Address: @item.Address
</div>
<button class="copyButton" id="copyButtonId" data-id="@item.Type"
data-clipboard-action="copy" data-clipboard-target="div#copy">Copy!</button>
私と一緒に<div>
をコピーします。うまくいかない場合はお知らせください。