如何将文本从<输出>复制到剪贴板?

时间:2019-09-19 16:17:33

标签: javascript html

我有这个表格:

const h = func(false);
const b = h.userId; // boolean
console.log(b); // false

此功能使我得到了一定的结果:

function func<U>(item: U): { userId: U } {
  return { userId: item };
}

const f = func(4);
const n = f.userId; // 4
console.log(n); // 4

const g = func("a");
const s = g.userId; // string
console.log(s); // 1

const h = func(false);
const b = h.userId; // boolean
console.log(b); // false

结果显示在输出标签中,我希望能够在得到结果后将该内容复制到剪贴板。...

这就是我尝试过的

ID     externalID     Name      AddedUTC
123                   John      2019-09-19 15:14:11.837
634                   Susan     2019-09-18 20:39:38.247
499                   Lolita    2019-09-18 19:58:29.320
...

2 个答案:

答案 0 :(得分:2)

请尝试此解决方案,或者说因为输出元素没有选择功能而砍死,所以我们所做的就是将输出值从输出元素复制到隐藏的输入元素,然后将值从隐藏的输入元素分配给剪贴板

所以这会有所帮助!

<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">Copy output text</button>

<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
<input type="range" id="a" value="50">100
+<input type="number" id="b" value="50">
=<output id="myInput" name="x" for="a b"></output>
<input type="hidden" id="dummyMyInput" />
</form>

<script>
function myFunction() { debugger;
  var copyText = document.getElementById("myInput").value;
  document.getElementById("dummyMyInput").value = copyText;
  copyText = document.getElementById("dummyMyInput");
  copyText.select();
  document.execCommand("copy");
  alert("Copied the text: " + copyText.value);
}
</script>

</body>
</html>

要运行该示例,您必须滑动滑动条。滑动条将给出一个值,该值将被添加到其他值以产生输出

答案 1 :(得分:0)

我做到了!我要做的就是用textarea标签替换输出标签!