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 相关文章推荐
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
Aug 13 Javascript
jQuery使用数组编写图片无缝向左滚动
Dec 11 Javascript
使用jquery mobile做幻灯播放效果实现步骤
Jan 04 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
Dec 11 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
Aug 02 Javascript
bootstarp modal框居中显示的实现代码
Feb 18 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
Jul 13 Javascript
vue.js指令v-for使用以及下标索引的获取
Jan 31 Javascript
JS开发自己的类库实例分析
Aug 28 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
Aug 19 Javascript
10分钟学会js处理json的常用方法
Dec 06 Javascript
使用compose函数优化代码提高可读性及扩展性
Jun 16 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
thinkphp模板用法和内容输出实例
2014/11/28 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
详解webpack babel的配置
2018/01/09 Javascript
vue实现树形结构样式和功能的实例代码
2019/10/15 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
[13:39]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第一场
2014/05/26 DOTA
Python实现图片转字符画的示例代码
2017/08/21 Python
微信跳一跳自动运行python脚本
2018/01/08 Python
简单了解python模块概念
2018/01/11 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
python3 爬取图片的实例代码
2018/11/06 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
2020/02/12 Python
python str字符串转uuid实例
2020/03/03 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
python help函数实例用法
2020/12/06 Python
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
意大利在线药房:shop-farmacia.it
2019/03/12 全球购物
小区门卫值班制度
2014/01/24 职场文书
施工安全责任书
2014/04/14 职场文书
运动会开幕词
2015/01/28 职场文书
教你如何使用Python实现二叉树结构及三种遍历
2021/06/18 Python
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android