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 相关文章推荐
JavaScript Event事件学习第一章 Event介绍
Feb 07 Javascript
jquery的ajax跨域请求原理和示例
May 08 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
Jan 27 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
Nov 28 Javascript
浅谈js中function的参数默认值
Feb 20 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
Nov 10 Javascript
Angular4集成ng2-file-upload的上传组件
Mar 14 Javascript
小程序实现五星点评效果
Nov 03 Javascript
vuejs简单验证码功能完整示例
Jan 08 Javascript
ajax跨域访问遇到的问题及解决方案
May 23 Javascript
你了解vue3.0响应式数据怎么实现吗
Jun 07 Javascript
Vue搭建后台系统需要注意的问题
Nov 08 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 cookie的操作实现代码(登录)
2010/12/29 PHP
php实现发送微信模板消息的方法
2015/03/07 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
2017/06/07 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
Jquery 基础学习笔记
2009/05/29 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
JavaScript中判断对象类型的几种方法总结
2013/11/11 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
vue-cli中的webpack配置详解
2017/09/25 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
浅析Vue项目中使用keep-Alive步骤
2018/07/27 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
[54:24]Optic vs TNC 2018国际邀请赛小组赛BO2 第二场
2018/08/18 DOTA
python自动zip压缩目录的方法
2015/06/28 Python
python二分查找算法的递归实现方法
2016/05/12 Python
单利模式及python实现方式详解
2018/03/20 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
Java面试题:为什么要用Java
2012/05/11 面试题
教师绩效考核方案
2014/01/21 职场文书
公务员平时考核实施方案
2014/03/11 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
nginx日志格式分析和修改
2022/04/28 Servers
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android