Javascript 将按钮属性中的文本复制到剪贴板

Javascript 将按钮属性中的文本复制到剪贴板,javascript,jquery,Javascript,Jquery,我有一些按钮,按钮属性中有一些文本,我想要的是当我单击按钮时,它会复制到剪贴板 $'.copyboard'。单击,函数E{ e、 防止违约; var copyText=$this.attr'data-text'; console.logcopyText; copyText.text.select; 文件副本; } 复制 复制 根据文档复制此事件仅限于字段和框。看 类似地,HTMLInputElement.select方法选择元素或包含文本字段的元素中的所有文本 作为一种解决方法,您可以在每次单

我有一些按钮,按钮属性中有一些文本,我想要的是当我单击按钮时,它会复制到剪贴板

$'.copyboard'。单击,函数E{ e、 防止违约; var copyText=$this.attr'data-text'; console.logcopyText; copyText.text.select; 文件副本; } 复制 复制 根据文档复制此事件仅限于字段和框。看

类似地,HTMLInputElement.select方法选择元素或包含文本字段的元素中的所有文本

作为一种解决方法,您可以在每次单击按钮时创建一个临时、不可见且不可编辑的输入或文本区域,将必要的文本复制到剪贴板,然后再次删除输入

请参阅。

根据文档,此事件仅限于字段和框。看

类似地,HTMLInputElement.select方法选择元素或包含文本字段的元素中的所有文本

作为一种解决方法,您可以在每次单击按钮时创建一个临时、不可见且不可编辑的输入或文本区域,将必要的文本复制到剪贴板,然后再次删除输入

请参阅。

w3schools上的示例显示您需要使用文本字段才能使用。选择并复制它

例如:

<!DOCTYPE html>
<html>
<body>

<p>Click on the button to copy the text from the text field. Try to paste the text (e.g. ctrl+v) afterwards in a different window, to see the effect.</p>

<input type="text" value="Hello World" id="myInput">
<button onclick="myFunction()">Copy text</button>
<script>
function myFunction() {
  var copyText = document.getElementById("myInput");
  copyText.select();
  document.execCommand("copy");
}
</script>

</body>
</html>
w3schools上的示例显示,为了使用,您需要使用文本字段。选择并复制它

例如:

<!DOCTYPE html>
<html>
<body>

<p>Click on the button to copy the text from the text field. Try to paste the text (e.g. ctrl+v) afterwards in a different window, to see the effect.</p>

<input type="text" value="Hello World" id="myInput">
<button onclick="myFunction()">Copy text</button>
<script>
function myFunction() {
  var copyText = document.getElementById("myInput");
  copyText.select();
  document.execCommand("copy");
}
</script>

</body>
</html>

如果要将文本复制到剪贴板,则需要选择文本区域或输入上的文本。 数据属性是标记HTML的一个属性,不可选择

如果将文本放入文本区域,选择它并在复制后删除标记,则可以执行此操作

$'.copyboard'。单击,函数E{ e、 防止违约; var copyText=$this.attr'data-text'; var textarea=document.createElementtextarea; textarea.textContent=copyText; textarea.style.position=fixed;//防止在MS Edge中滚动到页面底部。 document.body.appendChildtextarea; textarea.select; 文件副本; document.body.removeChildtextarea; } 复制 复制
复制要将文本复制到剪贴板中,需要选择文本区域或输入上的文本。 数据属性是标记HTML的一个属性,不可选择

如果将文本放入文本区域,选择它并在复制后删除标记,则可以执行此操作

$'.copyboard'。单击,函数E{ e、 防止违约; var copyText=$this.attr'data-text'; var textarea=document.createElementtextarea; textarea.textContent=copyText; textarea.style.position=fixed;//防止在MS Edge中滚动到页面底部。 document.body.appendChildtextarea; textarea.select; 文件副本; document.body.removeChildtextarea; } 复制 复制
复制显然,您只能复制一个可见元素,也可以复制一个输入元素。尝试以下方法:

   $('.copyboard').on('click', function(e) {
  e.preventDefault();

  var copyText = $(this).attr('data-text');
  var el = $('<input style="position: absolute; bottom: -120%" type="text" value="'+copyText+'"/>').appendTo('body'); 
  el[0].select();
  document.execCommand("copy");
  el.remove();
})


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button data-text="Hello World 1" class="copyboard">Copy</button></div>
<button data-text="Hello World 2" class="copyboard">Copy</button></div>
<button data-text="Hello World 3" class="copyboard">Copy</button></div>

显然,您只能复制可见元素和输入元素。尝试以下方法:

   $('.copyboard').on('click', function(e) {
  e.preventDefault();

  var copyText = $(this).attr('data-text');
  var el = $('<input style="position: absolute; bottom: -120%" type="text" value="'+copyText+'"/>').appendTo('body'); 
  el[0].select();
  document.execCommand("copy");
  el.remove();
})


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button data-text="Hello World 1" class="copyboard">Copy</button></div>
<button data-text="Hello World 2" class="copyboard">Copy</button></div>
<button data-text="Hello World 3" class="copyboard">Copy</button></div>
copyText.text.select;的用途是什么;?您已经拥有var copyText=$this.attr'data-text'的数据文本内容;您需要使用的@j08691可能存在重复项。选择将文本复制到剪贴板copyText的目的是什么。text.select;?您已经拥有var copyText=$this.attr'data-text'的数据文本内容;您需要使用的@j08691可能存在重复。选择此项可将文本复制到剪贴板中