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的滚动鼠标放大缩小图片效果
Oct 27 Javascript
js选取多个或单个元素的实现代码(用class)
Aug 22 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
Dec 27 Javascript
parentElement,srcElement的使用小结
Jan 13 Javascript
详细讲解JavaScript中的this绑定
Oct 10 Javascript
javascript入门之数组[新手必看]
Nov 21 Javascript
快速实现jQuery多级菜单效果
Feb 01 Javascript
详解Javascript中new()到底做了些什么?
Mar 29 Javascript
vue-cli2.9.3 详细教程
Apr 23 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
Dec 14 Javascript
node获取客户端ip功能简单示例
Aug 24 Javascript
vue cli4下环境变量和模式示例详解
Apr 09 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
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
PHP设计模式之适配器模式定义与用法详解
2018/04/03 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
PHP7变量处理机制修改
2021/03/09 PHP
javascript 类定义的4种方法
2009/09/12 Javascript
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
详解vue跨组件通信的几种方法
2017/06/15 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
2018/11/26 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python添加菜单图文讲解
2019/06/04 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
车间班组长的职责
2013/12/13 职场文书
大学生自我鉴定范文模板
2014/01/21 职场文书
保护水资源的标语
2014/06/17 职场文书
单位工作证明范本
2015/06/15 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js
用Python selenium实现淘宝抢单机器人
2021/06/18 Python
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python