首页 > 解决方案 > 即使选择并定义了文本,jS复制功能也不起作用?

问题描述

嗨,您知道如何使此复制文本功能正常工作吗?我在选择之前放了一个箭头功能仍然没有解决方案。谢谢你。

function paste() {

  let toSelect = ('Select text!!!!!!!!!!!!!!!! ');
  console.log(toSelect);
 
  toSelect.select();
  toSelect.setSelectionRange(0, 99999);
  document.execCommand('copy');
  alert("Copied the text: " + toSelect);

}
<button onclick=paste(); type="button">Click Me!</button>

标签: javascript

解决方案


我看到的第一个错误是您试图在HTMLInputElement.select()不允许的字符串上使用该方法。该变量toSelect不是<input>or<textarea>元素,因此select()不会调用该方法。

select()方法选择<textarea>元素中或<input>包含文本字段的元素中的所有文本。HTMLInputElement.select() - MDN

function paste() {
  const text = document.getElementById("text");
  const output = document.getElementById("paste-output");
  text.select();
  text.setSelectionRange(0, 99999);
  document.execCommand('copy');
  alert("Copied the text: " + text.value);
  output.textContent = text.value;
}
<textarea id="text">Some text to copied</textarea>
<button onclick=paste(); type="button">Click Me!</button>
<span id="paste-output"></span>


推荐阅读