html5页面实现点击复制功能
在实际工作中,有时候会遇到这样的需求,页面上有一个链接,不需要选中链接内容,只需要点击复制按钮,就可以把链接内容复制到剪切板。这时候可以使用clipboard插件来实现。以下是一个简单的demo。
需要购买阿里云产品和服务的,点击此链接领取优惠券红包,优惠购买哦,领取后一个月内有效: https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=fp9ccf07
首先可以通过npm install clipboard --save-dev 来安装该插件
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>clipboard示例</title> <script src="lib/clipboard/dist/clipboard.min.js"></script> </head> <body> <h2>从属性里复制</h2> <!--data-clipboard-text属性的值将会被复制--> <div id="btn" class="js-copy" data-clipboard-text="111-从属性复制"> <span>复制到剪切板-111</span> </div> <hr> <h2>从另外一个元素复制内容</h2> <textarea id="bar">222-从另外一个元素复制内容</textarea> <button id="btn2" data-clipboard-target="#bar">复制到剪切板-222</button> <hr> <h2>JS里指定复制的内容 <button id="btn3" data-clipboard-target="#bar">复制到剪切板-333</button></h2> <script> //从属性里复制 var btn = document.getElementById('btn'); var clipboard = new Clipboard(btn);//实例化 clipboard.on('success', function(e) {//复制成功执行的回调,可选 console.log(e); }); clipboard.on('error', function(e) {//复制失败执行的回调,可选 console.log(e); }); //从另外一个元素复制内容 var btn2 = document.getElementById('btn2'); var clipboard2 = new Clipboard(btn2);//实例化 clipboard2.on('success', function(e) {//复制成功执行的回调,可选 console.log(e); }); clipboard2.on('error', function(e) {//复制失败执行的回调,可选 console.log(e); }); //JS里指定复制的内容 var btn3 = document.getElementById('btn3'); var clipboard3 = new Clipboard(btn3, { text: function() { return '333-JS里指定复制的内容'; } }); clipboard3.on('success', function(e) {//复制成功执行的回调,可选 console.log(e); }); clipboard3.on('error', function(e) {//复制失败执行的回调,可选 console.log(e); }); </script> </body> </html>
效果图:
点击完复制按钮后,成功回调函数就会输出一个对象,该对象包含了复制的内容等信息。这个时候,在其他输入文字的地方使用粘贴快捷键就可以把剪切板的内容粘贴到你需要的地方了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类