JS基于clipBoard.js插件实现剪切、复制、粘贴
作者:夕阳白雪
这篇文章主要介绍了JS实现剪切、复制、粘贴——clipBoard.js 的相关资料,需要的朋友可以参考下
摘要:
最近做了一个项目,其中有这样一需求:实现一个点击按钮复制链接的功能,通过网上找相关资料,找到了几个插件,ZeroClipboard是通过flash实现的复制功能,随着越来越多的提议废除flash,于是就想能不能通过js来实现复制剪切呢?
地址: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>
最近在做项目的时候需要实现复制黏贴的功能,但是js自己提供的各种方法存在兼容性问题,最后决定使用插件来实现,找了很多插件,发现了了一款比较好用的,分享给大家