复制内容到剪切板

我们应该都遇到过这样一个需求,将某一段内容、ID、地址等,复制到粘贴板需求。

除了使用clipboard插件外,单纯的使用js也可以非常容易实现。

execCommand
execCommand方法是执行一个对当前文档,当前选择或者给出范围的命令。

Copy 将当前选中区复制到剪贴板。
命令有很多,这里就不一一展示了,感兴趣请戳这里~

思路
整体实现很简单,就是创建一个input 或者textarea,设置value值,然后选中输入框内容,执行复制操作就好。

演示

复制代码
// js创建一个input输入框
var input = document.createElement("input");   
// 将需要复制的文本赋值到创建的input输入框中,this.ruleForm.url这个是我要复制的内容
input.value = `
收件人:张三  \n
电话:15555555555  \n
地址:北京市-测试区-演示大路333号 \n
购买产品:复制粘贴--execCommand - Copy \n
数量:8盒
`;
// 将输入框暂时创建到实例里面
document.body.appendChild(input);   
// 选中输入框中的内容
input.select();   
// 执行复制操作
document.execCommand("Copy");   

// 最后删除实例中临时创建的input输入框,完成复制操作
document.body.removeChild(input); 
console.log('复制成功'')
复制代码

到这里其实已经,实现了复制内容到粘贴板的需求,但是大家肯定注意到了,我故意写了很多行,以及添加了 \n 符。

将粘贴板的内容,粘贴出来,会发现是很丑的长长的一坨,不美观。

换行
我们上边提到,复制内容可以用 input 和 textarea,上边我们使用的是 input,所以不美观,我们改为textarea就可以了

var input = document.createElement("textarea");

 

posted @   Mr_伍先生  阅读(370)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2017-12-16 layUI 几个简单的弹出层
2017-12-16 jquery validate验证方法
点击右上角即可分享
微信分享提示