使用 Clipboard.js 复制跨度文本

Copy span text using Clipboard.js

我正在使用 clipboard.js 并且需要通过单击按钮复制跨度内的文本。有办法吗?

HTML:

<span id="spanId">text here</span>
<input type="button" class="buttonClass" value="Copy" data-clipboard-target="#spanId" />

解决方案可以是:

// create a new instance of Clipboard plugin for the button element
// using the class selector: .buttonClass
var clipboard =  new Clipboard('.buttonClass');


// when text is copied into clipboard use it
clipboard.on('success', function(e) {
  $('#log').text('Text copied into clipboard is: <' + e.text + '>');
  e.clearSelection();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.10/clipboard.min.js"></script>

<span id="spanId">text here</span>
<input type="button" class="buttonClass" value="Copy" data-clipboard-target="#spanId"/>
<p id="log"></p>

您只需要实例化一个新的剪贴板。在这种情况下,您会写 new Clipboard(".buttonClass"),因为那是您的按钮所具有的 class。您提供的标记在其他方面完全可用。我制作了一个 JSFiddle,您可以查看 here.

如果您遇到任何其他问题,我发现 clipboard.js docs 非常有帮助。