JS插件clipboard.js实现一键复制粘贴功能
作者:半夏时间:2026-10-22 16:34:14浏览:110
本文介绍如何使用轻量级JS插件clipboard.js实现前端一键复制粘贴功能。通过引入插件并配置data-clipboard-target属性,可轻松实现文本复制。针对与其他前端框架可能产生的冲突,提供了使用iframe隔离的解决方案,并附带完整代码示例与注意事项。
clipboard.js插件引入与基础使用
实现一键复制粘贴功能,需借助一个轻量级的JavaScript插件:clipboard.js。
该插件的官方网站地址为:。
将插件下载至本地后,将其放入项目目录中,直接在HTML文件中引用即可使用。具体实现代码示例如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>一键复制粘贴</title>
<style>
.transfer {
width: 90%;
margin: 20px auto;
font-size: 18px;
}
.transfer button {
margin-top: -5px;
float: right;
margin-left: 10px;
background-color: rgb(3, 169, 244);
width: 30%;
height: 25px;
font-size: 14px;
color: white;
border: 0;
border-radius: 8%;
}
</style>
</head>
<body>
<div class="transfer">
支付宝:<span id="zfb_account">11111111111</span>
<button onclick="copy1()" data-clipboard-action="copy" data-clipboard-target="#zfb_account" id="copy_zfb">一键复制</button>
</div>
<div class="transfer">
微信:<span id="wx_account">2222222</span>
<button onclick="copy2()" data-clipboard-action="copy" data-clipboard-target="#wx_account" id="copy_wx">一键复制</button>
</div>
<input type="text" />
</body>
<script type="text/javascript" src="../js/clipboard.min.js"></script>
<script>
function copy1() {
var clipboard = new Clipboard('#copy_zfb');
clipboard.on('success', function(e) {
e.clearSelection(); //选中需要复制的内容
alert("复制成功!");
});
clipboard.on('error', function(e) {
alert("当前浏览器不支持此功能,请手动复制。")
});
}
function copy2() {
var clipboard = new Clipboard('#copy_wx');
clipboard.on('success', function(e) {
e.clearSelection(); //选中需要复制的内容
alert("复制成功!");
});
clipboard.on('error', function(e) {
alert("当前浏览器不支持此功能,请手动复制。")
});
}
</script>
</html>
功能运行效果图展示如下:

注意:若项目中已引入其他前端框架或插件,可能会与clipboard.js发生冲突。解决此问题的方法是将相关代码置于独立的HTML文件中,并通过<iframe/>标签在主文件中嵌入该页面。
前端复制粘贴clipBoard.js的使用
代码实现与冲突处理
<!DOCTYPE html>
<html>
<head>
<title>ClipBoard.js使用:修改HTML</title>
<meta charset="utf-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>
</head>
<body>
<!--案例一:从另一元素复制文本:通过data-clipboard-target在触发器中添加属性来实现-->
<input type="text" id="input">
<button id="copy" data-clipboard-target="#input">复制input框中的内容</button>
<textarea name="" id="" cols="30" rows="10"></textarea>
</body>
</html>
<script type="text/javascript">
var clipboard = new ClipboardJS('#copy')
// 显示用户反馈/捕获复制/剪切操作后选择的内容
clipboard.on('success', function (e) {
console.info('Action:', e.action)//触发的动作/如:copy,cut等
console.info('Text:', e.text);//触发的文本
console.info('Trigger:', e.trigger);//触发的DOm元素
e.clearSelection();//清除选中样式(蓝色)
})
clipboard.on('error', function (e) {
console.error('Action:', e.action);
console.error('Trigger:', e.trigger);
});
</script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
作者最新文章
JavaScript闭包与类(Class)的区别及适用场景对比
2026-11-05 15:48:57
JavaScript入门要学ES6吗?let与箭头函数等新特性解析
2026-11-05 14:49:16
JavaScript 8种数据类型详解:基本类型与引用类型的区别
2026-11-05 14:25:15
怎么在JavaScript中使用async/await优化Ajax异步流程
2026-11-05 13:56:15
JavaScript replace回调函数实现动态正则替换逻辑
2026-11-05 13:52:13
