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 相关文章推荐
jquery显示和隐藏div特效实例
Feb 27 Javascript
jQuery根据纬度经度查看地图处理程序
May 08 Javascript
javascript检测页面是否缩放的小例子
May 16 Javascript
$.each与$().each的区别示例介绍
Mar 20 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
Nov 30 Javascript
值得学习的bootstrap fileinput文件上传工具
Nov 08 Javascript
Bootstrap 响应式实用工具实例详解
Mar 29 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
Mar 30 jQuery
微信小程序的日期选择器的实例详解
Sep 29 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
Dec 20 Javascript
Angular脚手架开发的实现步骤
Apr 09 Javascript
深入理解令牌认证机制(token)
Aug 22 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检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
PHP实现多关键字加亮功能
2016/10/21 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
Symfony查询方法实例小结
2017/06/28 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
JavaScript 变量命名规则
2009/09/23 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
jQuery自定义添加&quot;$&quot;与解决&quot;$&quot;冲突的方法
2015/01/19 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
Python常见数据结构详解
2014/07/24 Python
python 获取网页编码方式实现代码
2017/03/11 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
python写一个md5解密器示例
2018/02/23 Python
python入门前的第一课 python怎样入门
2018/03/06 Python
python机器学习之随机森林(七)
2018/03/26 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
Python多继承原理与用法示例
2018/08/23 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
中国跨境电商:Tomtop
2017/03/16 全球购物
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
高中生评语大全
2014/04/25 职场文书
世博会口号
2014/06/20 职场文书
幼儿教师师德师风演讲稿
2014/08/22 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL