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 相关文章推荐
DEFER怎么用?
Jul 01 Javascript
jquery 简短右键菜单 多浏览器兼容
Jan 01 Javascript
利用JS实现浏览器的title闪烁
Jul 08 Javascript
JavaScript设计模式之外观模式实例
Oct 10 Javascript
node.js中的fs.readdirSync方法使用说明
Dec 17 Javascript
jquery滚动加载数据的方法
Mar 09 Javascript
React Native 搭建开发环境的方法步骤
Oct 30 Javascript
浅谈webpack组织模块的原理
Mar 10 Javascript
javascript中floor使用方法总结
Feb 02 Javascript
小程序云开发实现数据库异步操作同步化
May 18 Javascript
前端深入理解Typescript泛型概念
Mar 09 Javascript
详解小程序横屏方案对比
Jun 28 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为字符串前后添加指定数量字符的方法
2015/05/04 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
2014/11/04 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
python面向对象 反射原理解析
2019/08/12 Python
python基础教程之while循环
2019/08/14 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
商务日语毕业生自荐信范文
2013/11/14 职场文书
房地产销售计划书
2014/01/10 职场文书
心理健康教育制度
2014/01/27 职场文书
《识字五》教学反思
2014/03/01 职场文书
不忘国耻振兴中华演讲稿
2014/05/14 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
投标文件签署授权委托书范本
2014/10/12 职场文书
计生个人工作总结
2015/02/28 职场文书
2015年库房工作总结
2015/04/30 职场文书
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android