前端实现点击复制内容到粘贴板功能

Document.execCommand()

Document.execCommand()是操作剪贴板的传统方法,各种浏览器都支持。

复制时,先选中文本,然后调用document.execCommand('copy'),选中的文本就会进入剪贴板。

当需要选中的内容是文本输入标签(input、textarea)

如果是文本输入标签,标签不可以赋予disable或者readonly,这会影响select()方法

javascript 复制代码
const input = document.querySelector('#input'); // 选取input元素
input.select(); // 选中文本
document.execCommand('copy'); // 执行浏览器复制命令
this.$message.success("已复制到粘贴板!");

当需要选中的内容不是文本输入标签(input、textarea)

需要主动创建一个可输入文本的标签(input和textarea)然后将待复制的文本赋值给这个标签,再调用.select()方法选中这个标签才能继续执行

javascript 复制代码
const input = document.createElement("input"); // 新增一个input
input.style.position = "relative"; // 将它隐藏(注意不能使用display或者visibility,否则粘贴不上)
input.style.zIndex = "-9";
document.body.appendChild(input); // 追加
input.value = copyContent; //copyContent为需要复制的内容   设置文本框的内容
input.select(); // 选中文本
document.execCommand("copy"); // 执行浏览器复制命令
this.$message.success("已复制到粘贴板!");
相关推荐
cz追天之路2 小时前
华为机考--- 字符串最后一个单词的长度
javascript·css·华为·less
Light602 小时前
CSS逻辑革命:原生if()函数如何重塑我们的样式编写思维
前端·css·响应式设计·组件化开发·css if函数·声明式ui·现代css
蜡笔小嘟2 小时前
宝塔安装dify,更新最新版本--代码版
前端·ai编程·dify
ModyQyW3 小时前
HBuilderX 4.87 无法正常读取 macOS 环境配置的解决方案
前端·uni-app
bitbitDown3 小时前
我的2025年终总结
前端
五颜六色的黑3 小时前
vue3+elementPlus实现循环列表内容超出时展开收起功能
前端·javascript·vue.js
wscats4 小时前
Markdown 编辑器技术调研
前端·人工智能·markdown
EnoYao4 小时前
Markdown 编辑器技术调研
前端·javascript·人工智能
JIngJaneIL4 小时前
基于java+ vue医院管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
JIngJaneIL5 小时前
基于java + vue校园跑腿便利平台系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot