最近在做项目的时候需要实现复制黏贴的功能,但是js自己提供的各种方法存在兼容性问题,最后决定使用插件来实现,找了很多插件,发现了了一款比较好用的,分享给大家
js包下载地址:
jsDelivr
< script src = “ https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js ” > </ script >
cdnjs
< script src = “ https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js ” > </ script >
RawGit
< script src = “ https://cdn.rawgit.com/zenorocha/clipboard.js/v2.0.0/dist/clipboard.min.js ” > </ script >
unpkg
< script src = “ https://unpkg.com/clipboard@2.0.0/dist/clipboard.min.js ” > </ script >
嫌麻烦的看这里:
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>