先上大佬链接
复制
使用select()可以将文本复制到剪切板,但是只能在input和textarea有用,其他标签就不好用,先放在input和textarea上的使用方法
<input type="text" name="" value="123" id="input">
<script>
//jq写法
$("#input").select()
document.execCommand("copy"); // 执行浏览器复制命令
//jq写法
var input = document.getElementById("input");
input.select();
document.execCommand("copy"); // 执行浏览器复制命令
</script>
还有就是值不是写在input和textarea里的,例如div、p、span等标签里面
<style>
//这个样式下面进行说明
#input{
opacity: 0
}
</style>
<div id="div">123</div>
<input type="text" name="" value="123" id="input">
<script>
var text = document.getElementById("div").innerText;
var input = document.getElementById("input");
input.value=text;
input.select();
document.execCommand("copy"); // 执行浏览器复制命令
</script>
这边说明上面样式的作用。
在项目中,有时候会复制一段话,标签用div或者p,那么直接使用document.execCommand(“copy”)是不可行的(具体原因度娘),而且input在用到disabled属性、hidden、display: none、width或者height等于0时,都不能实现,那么只能用透明度了(opacity: 0)。其实让input和textarea设置成只读属性就可以了readonly=“readonly”
<!--input设置为只读,textarea也可以设置-->
<input type="text" name="" value="123" id="input" readonly="readonly">
粘贴
var clipPromise = navigator.clipboard.readText();
clipPromise.then(function(clipText){
console.log(clipText)
});
最后,如果我的笔记对您有帮助,请给我一个赞~ 谢谢!