Clipboard.js 无需Flash的JavaScript复制粘贴库


Posted in Javascript onOctober 02, 2015

clipboard.js基本使用

clipboard.js 是一个不需要flash,将文本复制到剪贴板的插件。简单介绍下基本运用。

一、引入插件

<script src="js/clipboard.min.js"></script>

二、基本使用

首先需要您需要通过传递DOM选择器,HTML元素或HTML元素列表来实例化它。

new Clipboard('.btn');

用一个元素当触发器来复制另一个元素的文本,data-clipboard-target属性后需要跟属性选择器

<input id="foo" value="https://github.com/zenorocha/clipboard.js.git">
<button class="btn" data-clipboard-target="#foo">
</button>

另外还有另外一个属性data-clipboard-action属性,以指定是要要么copy还是要cut操作。默认情况下是copy。cut操作只适用于或元素。

<textarea id="bar">Mussum ipsum cacilds...</textarea>
<button class="btn" data-clipboard-action="cut" data-clipboard-target="#bar">
Cut to clipboard
</button>

从属性中复制文本,不需要另一个元素当触发器,可以使用data-clipboard-text属性,在后面放上需要复制的文本.

<button class="btn" data-clipboard-text="Just because you can doesn't mean you should — clipboard.js">
Copy to clipboard
</button>

三、其他说明
1、通过运行检查clipboard.js是否支持Clipboard.isSupported(),返回true则可以使用。
2、显示一些用户反馈或捕获在复制/剪切操作后选择的内容。操作,文本,触发元素

var clipboard = new Clipboard('.btn');

clipboard.on('success', function(e) {
 console.info('Action:', e.action);
 console.info('Text:', e.text);
 console.info('Trigger:', e.trigger);

 e.clearSelection();
});

clipboard.on('error', function(e) {
 console.error('Action:', e.action);
 console.error('Trigger:', e.trigger);
});

该插件使用的是事件委托的方式来触发,所以大大减少了对dom的操作。

四、高级使用

如果你不想修改你的HTML,又或者要获取内容的标签是无法被选中【移动端经常遇到的问题】,那么你可以使用一个非常方便的命令API。所以你需要做的是声明一个函数,写下你想要的操作,并返回一个值。下面是一个对不同id的触发器返回不同的值的例子。具体的使用方法请看https://clipboardjs.com

五、移动端复制失败分析详解

移动端复制失败的原因基本都是要获取的内容无法被选中,如此才获取不到内容,用上面的函数基本可以解决,但亦可看看分析过程。

六、支持的浏览器

谷歌42+,火狐41+,其他自己查看官方

下面是实例

clipboard.js 实现了纯 JavaScript (无 Flash)的浏览器内容复制到系统剪贴板的功能。可以在浏览器和 Node 环境中使用。支持 Chrome 42+、Firefox 41+、IE 9+、Opera 29+

Clipboard.js 无需Flash的JavaScript复制粘贴库

官方网站:https://github.com/zenorocha/clipboard.js

软件下载://3water.com/jiaoben/385604.html

官方使用方法:https://zenorocha.github.io/clipboard.js/#example-text

示例代码:

官方实例一:
在线演示:http://demo.3water.com/js/2015/clipboard/

<script src="clipboard.min.js"></script>
 <textarea id="bar" cols="62" rows="5" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">三水点靠木是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。</textarea>

<!-- Trigger -->
<button class="btn" data-clipboard-action="copy" data-clipboard-target="#bar">
 Cut to clipboard
</button>
<script>
var clipboard = new Clipboard('.btn');
clipboard.on('success', function(e) {
 console.info('Action:', e.action);
 console.info('Text:', e.text);
 console.info('Trigger:', e.trigger);
alert("复制成功");
 e.clearSelection();
});

clipboard.on('error', function(e) {
 console.error('Action:', e.action);
 console.error('Trigger:', e.trigger);
});
</script>

官方实例二:

<script src="dist/clipboard.min.js"></script>
<button class="btn">
<script type="text/javascript">
var clipboard = new Clipboard('.btn');

clipboard.on('success', function(e) {
 console.info('Action:', e.action);
 console.info('Text:', e.text);
 console.info('Trigger:', e.trigger);

 e.clearSelection();
});

clipboard.on('error', function(e) {
 console.error('Action:', e.action);
 console.error('Trigger:', e.trigger);
});
</script>

到此这篇关于Clipboard.js 无需Flash的JavaScript复制粘贴库的文章就介绍到这了,更多相关JavaScript 内容复制 Clipboard内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript dom追加内容实现示例
Sep 21 Javascript
JavaScript设计模式之抽象工厂模式介绍
Dec 28 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
Mar 24 Javascript
jQuery实现的表格展开伸缩效果实例
Sep 07 Javascript
JavaScript数据结构链表知识详解
Nov 21 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
Dec 27 Javascript
详解Node.js实现301、302重定向服务
Apr 07 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
Jul 12 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
Oct 11 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
Nov 14 Javascript
Vue 事件处理操作实例详解
Mar 05 Javascript
微信小程序实现同时上传多张图片
Feb 03 Javascript
jQuery网页右侧广告跟随滚动代码分享
Apr 20 #Javascript
jQuery+PHP星级评分实现方法
Oct 02 #Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
Oct 01 #Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
Oct 01 #Javascript
基于OL2实现百度地图ABCD marker的效果
Oct 01 #Javascript
JS处理json日期格式化问题
Oct 01 #Javascript
JS日期格式化之javascript Date format
Oct 01 #Javascript
You might like
PHP 快速排序算法详解
2014/11/10 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
jquery使用jxl插件导出excel示例
2014/04/14 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
Vue异步加载about组件
2017/10/31 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
使用async await 封装 axios的方法
2018/07/09 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
vue项目实现多语言切换的思路
2020/09/17 Javascript
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
2019/02/26 Python
python numpy实现文件存取的示例代码
2019/05/26 Python
python将字母转化为数字实例方法
2019/10/04 Python
python 并发下载器实现方法示例
2019/11/22 Python
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
妇科医生自荐信
2013/11/05 职场文书
毕业生找工作推荐信
2013/11/21 职场文书
五型班组建设方案
2014/02/10 职场文书
黄继光的英雄事迹材料
2014/02/13 职场文书
公安四风对照检查材料思想汇报
2014/10/11 职场文书
工作保证书怎么写
2015/02/28 职场文书
赤壁观后感(2)
2015/06/15 职场文书
logback如何自定义日志存储
2021/08/30 Java/Android