JavaScript复制文本的方法:document.execCommand(‘Copy’)
document.execCommand方法可以运行很多跟操纵可编辑区域有关的命令,详情地址如下:
https://developer.mozilla.org/zh-CN/docs/Web/API/Document/execCommand
想复制隐藏的input框,必须保证input框不处于display:none或visibility: hidden状态,且宽度不小于4(高度任意,亲测高度到0也没事),至于JavaScript为什么这样规定,我也不清楚,可能是为了安全吧
隐藏复制代码示例
<html>
<head>
<title>复制</title>
</head>
<body>
<button onclick="copyText()">点击此处复制</button>
<input id="copyInput" value='复制的文本' style="opacity: 0;" readonly /><!-- 注意这样虽然看不见input,但是其仍然站着位置 -->
<!-- 不占位置的隐藏方式
<input id="copyInput" value='复制的文本2' style=" position: fixed; width: 5px; top: -6px; height: 6px;"readonly />
-->
</body>
<script>
var copyInput=document.getElementById('copyInput')
function copyText() {
copyInput.select(); // 选择对象
document.execCommand("Copy"); // 执行浏览器复制命令
alert('已复制文本');
}
</script>
</html>