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 定时器调用传递参数的方法
Nov 12 Javascript
20条学习javascript的编程规范的建议
Nov 28 Javascript
javascript制作幻灯片(360度全景图片)
Jul 28 Javascript
全面解析Bootstrap表单使用方法(表单样式)
Nov 24 Javascript
关于使用axios的一些心得技巧分享
Jul 02 Javascript
js学习总结_选项卡封装(实例讲解)
Jul 13 Javascript
JavaScript实现全选取消效果
Dec 14 Javascript
vue.js自定义组件directives的实例代码
Nov 09 Javascript
记一次用vue做的活动页的方法步骤
Apr 11 Javascript
vue中npm包全局安装和局部安装过程
Sep 03 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 Javascript
微信小程序之高德地图多点路线规划过程示例详解
Jan 18 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 socket客户端及服务器端应用实例
2014/07/04 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
jquery实现文字由下到上循环滚动的实例代码
2013/08/09 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
Javascript 跨域知识详细介绍
2016/10/30 Javascript
简单谈谈gulp-changed插件
2017/02/21 Javascript
js自定义Tab选项卡效果
2017/06/05 Javascript
记React connect的几种写法(小结)
2018/09/18 Javascript
JavaScript浅层克隆与深度克隆示例详解
2020/09/01 Javascript
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
Python实现把xml或xsl转换为html格式
2015/04/08 Python
Python+Wordpress制作小说站
2017/04/14 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
python基础教程之while循环
2019/08/14 Python
使用Python函数进行模块化的实现
2019/11/15 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
在校学生职业规划范文
2014/01/08 职场文书
党员个人整改措施
2014/10/24 职场文书
家长给老师的感谢信
2015/01/20 职场文书
运动与健康自我评价
2015/03/09 职场文书
2015年教研员工作总结
2015/05/26 职场文书
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/07 PostgreSQL