js 点击按钮复制、粘贴文本

先上大佬链接
复制
使用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)
});

最后,如果我的笔记对您有帮助,请给我一个赞~ 谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值