首页 > 解决方案 > 如何复制按钮文本?

问题描述

我想在单击按钮时从按钮复制​​文本。我重用了w3 学校的代码。w3学校代码的不同之处在于,当您单击按钮时,它会从输入中复制文本,我想从单击的按钮中复制文本。

function copyClipboard() {
  var copyText = document.getElementById("myButton").innerHTML;
  document.execCommand("copy");
}
<button id="myButton" onclick="copyClipboard()">Text I want to copy</button>

当我 console.log copyText 它显示来自按钮的文本,但我的文本永远不会被复制。

你知道为什么吗 ?

标签: javascriptbuttoncopyselection

解决方案


您的问题是您只存储 的valuebutton但您没有选择任何内容,因此不会将任何内容复制到剪贴板。

您需要将该内容放入 an并 使用input 选择其值.select(),以便可以复制它:

function copyClipboard() {
  var copyText = document.getElementById("myButton").innerHTML;
  
  var input = document.createElement("input");
  input.value = copyText;
  document.body.appendChild(input);
  input.select();
  document.execCommand("copy");
  document.body.removeChild(input); 
}
<button id="myButton" onclick="copyClipboard()">Text I want to copy</button>


推荐阅读