如何复制<p>文本onClick的一部分

时间:2019-08-19 20:36:04

标签: javascript html clipboard

我有一个带有'p'元素的HTML文档,当单击整个元素时,我希望将其复制到剪贴板中。

<p class="pageID"><strong>Page ID: </strong>#A16</p>

哪个返回: PageID:#A16

我想拥有它,因此当我单击此行上的任意位置时,页面ID(#A16)将复制到剪贴板,但没有其他内容。我在这里看到了类似的问题,并尝试了许多不同的JavaScript解决方案,但没有任何效果。

有什么想法吗?

谢谢!

4 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情:

<p class="pageID"><strong>Page ID: </strong><span id="toCopy">#A16</span></p>

<script>
document.querySelector(".pageID").addEventListener('click', function() {
   var temp_input = document.createElement("INPUT");
   temp_input.value = document.querySelector('#toCopy').innerHTML;
   temp_input.select();
   document.execCommand("copy");
});
</script>

不需要jQuery!

答案 1 :(得分:1)

从头顶上方,我将要复制的内容包装到其自己的元素中,然后复制该元素的文本。

例如:<p class="pageID"><strong>Page ID: </strong><span class="your-class-name">#A16</span></p>

答案 2 :(得分:1)

您应该将该文本包装在具有一些id的元素中,然后专注于它并像这样复制

var el = document.getElementById("myText");
el.select();
document.execCommand("copy");

答案 3 :(得分:1)

您可以执行以下操作:

<div id="myId"><p class="pageID" id="myElement"><strong>Page ID: </strong>#A16</p></div>

<script>
$('#myId').onClick(function() {
  var copyText = document.getElementById("myElement");
  copyText.select();
  document.execCommand("copy");
  alert("Copied the text: " + copyText.value); // do whatever you want with this text.
});
</script>