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 相关文章推荐
有关于JS辅助函数inherit()的问题
Apr 07 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
Jun 24 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
Jul 05 Javascript
Bootstrap Table使用心得总结
Nov 29 Javascript
BootStrap Fileinput的使用教程
Dec 30 Javascript
Angular.js自定义指令学习笔记实例
Feb 24 Javascript
JQuery Ajax 异步操作之动态添加节点功能
May 24 jQuery
浅谈JS中的反柯里化( uncurrying)
Aug 17 Javascript
详解封装基础的angular4的request请求方法
Jun 05 Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 Javascript
Node.js 中判断一个文件是否存在
Aug 24 Javascript
Vue 实例中使用$refs的注意事项
Jan 29 Vue.js
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
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
Java 正则表达式学习总结和一些小例子
2012/09/13 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
深入浅出分析Python装饰器用法
2017/07/28 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
python实现学生管理系统开发
2020/07/24 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
Python的信号库Blinker用法详解
2020/12/31 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
戴尔英国官网:Dell英国
2017/05/27 全球购物
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
澳大利亚领先的在线礼品网站:Gifts Australia
2020/08/15 全球购物
什么是java序列化,如何实现java序列化
2012/11/14 面试题
法院实习人员自我鉴定
2013/09/26 职场文书
kfc实习自我鉴定
2013/12/14 职场文书
有趣的广告词
2014/03/18 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
组工干部对照检查材料
2014/08/25 职场文书
2014年变电站工作总结
2014/12/19 职场文书
商务考察邀请函模板
2015/02/02 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书