JS基于clipBoard.js插件实现剪切、复制、粘贴


Posted in Javascript onMay 03, 2016

摘要:

最近做了一个项目,其中有这样一需求:实现一个点击按钮复制链接的功能,通过网上找相关资料,找到了几个插件,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自己提供的各种方法存在兼容性问题,最后决定使用插件来实现,找了很多插件,发现了了一款比较好用的,分享给大家

Javascript 相关文章推荐
Jquery css函数用法(判断标签是否拥有某属性)
May 28 Javascript
跨浏览器的事件对象介绍
Jun 27 Javascript
js调用后台、后台调用前台等方法总结
Apr 17 Javascript
jQuery中[attribute^=value]选择器用法实例
Dec 31 Javascript
jQuery+CSS3实现3D立方体旋转效果
Nov 10 Javascript
浅谈jquery上下滑动的注意事项
Oct 13 Javascript
ES6概念 Symbol.keyFor()方法
Dec 25 Javascript
Javascript实现base64的加密解密方法示例
Jun 27 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
Jul 19 Javascript
vue 集成jTopo 处理方法
Aug 07 Javascript
javascript移动端 电子书 翻页效果实现代码
Sep 07 Javascript
实现一个Vue自定义指令懒加载的方法示例
Jun 04 Javascript
搞定immutable.js详细说明
May 02 #Javascript
Immutable 在 JavaScript 中的应用
May 02 #Javascript
基于javascript数组实现图片轮播
May 02 #Javascript
Javascript HTML5 Canvas实现的一个画板
Apr 12 #Javascript
bootstrap3 兼容IE8浏览器!
May 02 #Javascript
javascript实现列表切换效果
May 02 #Javascript
基于javascript编写简单日历
May 02 #Javascript
You might like
php unset全局变量运用问题的深入解析
2013/06/17 PHP
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
php中的异常和错误浅析
2017/05/03 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
非主流的textarea自增长实现js代码
2011/12/20 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
使用JavaScript实现表格编辑器(实例讲解)
2017/08/02 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
小程序实现五星点评效果
2018/11/03 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
vue 集成jTopo 处理方法
2019/08/07 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
python提取页面内url列表的方法
2015/05/25 Python
Windows下为Python安装Matplotlib模块
2015/11/06 Python
10个顶级Python实用库推荐
2021/03/04 Python
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
小型女装店的创业计划书
2014/01/09 职场文书
三年级学生评语
2014/04/23 职场文书
企业晚会策划方案
2014/05/29 职场文书
校长创先争优承诺书
2014/08/30 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
在容器中使用nginx搭建上传下载服务器
2022/05/11 Servers