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 相关文章推荐
HTTP状态代码以及定义(解释)
Feb 02 Javascript
JS获取当前网址、主机地址项目根路径
Nov 19 Javascript
js整数字符串转换为金额类型数据(示例代码)
Dec 26 Javascript
使用jQuery重置(reset)表单的方法
May 05 Javascript
JavaScript实现的字符串replaceAll函数代码分享
Apr 02 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
May 31 Javascript
vue-router单页面路由
Jun 17 Javascript
vue的for循环使用方法
Feb 12 Javascript
JS中的防抖与节流及作用详解
Apr 01 Javascript
vue选项卡切换登录方式小案例
Sep 27 Javascript
微信小程序使用前置摄像头拍照
Oct 22 Javascript
vue使用element-ui按需引入
May 20 Vue.js
搞定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学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
调试一段PHP程序时遇到的三个问题
2012/01/17 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
php 判断服务器操作系统的类型
2014/02/17 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
js异步上传多张图片插件的使用方法
2018/10/22 Javascript
Python编写登陆接口的方法
2017/07/10 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
Python字符串及文本模式方法详解
2020/09/10 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
Linux的文件类型
2016/07/05 面试题
开业主持词
2014/03/21 职场文书
出纳担保书范文
2014/04/02 职场文书
毛主席纪念堂观后感
2015/06/17 职场文书
生日祝酒词大全
2015/08/10 职场文书
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python