JS基于clipBoard.js插件实现剪切、复制、粘贴
本文介绍如何使用clipBoard.js插件在JavaScript中实现剪切、复制和粘贴功能。该插件无需Flash,通过配置data-clipboard-action属性及JS对象参数,可轻松处理文本复制与剪切操作,并提供复制前后的回调方法支持。
clipBoard.js插件实现剪切、复制、粘贴教程
摘要:
近期项目中遇到一个需求,即通过点击按钮来复制链接。在查阅相关资料后,发现了一些可用的插件。其中ZeroClipboard依赖Flash技术实现复制功能,鉴于Flash正逐渐被废弃,因此考虑是否可以通过纯JavaScript来实现剪切和复制操作。
插件地址:https://github.com/baixuexiyang/clipBoard.js
实现方法:
复制功能
var copy = new clipBoard(document.getElementById('data'), {
beforeCopy: function() {
},
copy: function() {
return document.getElementById('data').value;
},
afterCopy: function() {
}
});
剪切功能
var cut = new clipBoard(document.getElementById('data'), {
beforeCut: function() {
},
Cut: function() {
return document.getElementById('data').value;
},
afterCut: function() {
}
});
粘贴功能
var paste = new clipBoard(document.getElementById('data'), {
beforePaste: function() {
},
paste: function() {
return document.getElementById('data').value;
},
afterPaste: function() {
}
});
补充说明
1. 引入clipboard.min.js文件。 2. 定义一个button按钮,注意按钮的属性:data-clipboard-action="copy" 表示是复制行为,data-clipboard-text='XXX',XXX表示你要复制的内容。 3. 书写JS代码,建立clipboard对象以及复制后执行的方法。
演示代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>target-div</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>
</head>
<body>
<button class="btn" data-clipboard-text="Just because you can doesn't mean you should — clipboard.js">
Copy to clipboard
</button>
<button class="btn" data-clipboard-text="ean you should — clipboard.js">
Copy to clipboard2
</button>
<script>
var clipboard = new ClipboardJS('.btn');
clipboard.on('success', function(e) {
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
alert('复制成功,您复制的链接为'+e.text);
e.clearSelection();
});
clipboard.on('error', function(e) {
console.error('Action:', e.action);
console.error('Trigger:', e.trigger);
alert('复制失败')
});
</script>
</body>
</html>
最近在开发项目时需要实现复制粘贴的功能,但JavaScript原生提供的各种方法存在兼容性问题,最终决定使用插件来实现。经过筛选,发现了一款比较好用的插件,特此分享给大家。
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
