Clipboardjs实现复制功能

2021-06-30    1125    每日一库 

背景

每次你需要在Github上Clone项目下来时,都需要将项目地址复制一次,如果按普通复制的方式需要选择地址,然后ctrl+v才能把地址复制下来,看起来很简单,但需要按3次按钮,按多了会感觉很无趣,此时一键复制的功能就诞生了。

代码

<a href="javascript:void(0);" class="btn-copy">复制</a>
<p>zeifun.com/">占用号随想</p>
<script src="http://www.zeifun.com/clipboard.js/2.0.8/clipboard.min.js"></script>
<script>
var clipboard = new ClipboardJS('.btn-copy', {target: function(trigger) {return trigger.nextElementSibling;}});
clipboard.on('success', function(e) {e.clearSelection();});
clipboard.on('error', function(e) {e.clearSelection();});
</script>

说明:

复制功能其实简单,引入Clipboardjs库后只需一行代码即可,第一个参数是css选择器,选择监听哪个元素被点击后触发复制功能,第二个参数是可选项,里面指定了需要复制的是下一个兄弟元素。

复制功能触发后,被复制的元素会处在选中状态,如果觉得不好看,可以通过clearSelection函数来取消选中状态。