我正在尝试使用onclick复制锚元素(标题)。这会触发,但不会复制该值。有什么想法吗?

我知道这很基础,但是那是我。

<a id="myAnchor" onclick="myFunction()" title="[email protected]" href="#">[email protected]</a>

<script>
  function myFunction() {
    var copyText = document.getElementById("myAnchor").title;
    document.execCommand("Copy");
    alert("Copied the text: " + copyText.value);
  }
</script>

最佳答案

我会做不同的事情,但是由于您要使用execCommand(“ Copy”),一种方法是在点击处理程序中创建一个“模拟”输入元素并选择它:

function myFunction() {
  var copyText = document.getElementById("myAnchor").title;
  var mockInput = document.createElement("input");
  document.body.appendChild(mockInput);
  mockInput.type = "text";
  mockInput.value = copyText;
  mockInput.style.opacity = 0;
  mockInput.style.position = "absolute";
  mockInput.style.top = "0px";
  mockInput.style.left = "0px";
  mockInput.select();
  document.execCommand("Copy");
  alert("Copied the text: " + copyText.value);
  mockInput.parentNode.removeChild(mockInput);
}


现在您“复制”到剪贴板

07-27 21:28