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 ui dialog ie8出现滚动条的解决方法
Dec 06 Javascript
js实现图片旋转的三种方法
Apr 10 Javascript
js的window.showModalDialog及window.open用法实例分析
Jan 29 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
Sep 08 Javascript
JavaScript登录验证码的实现
Oct 27 Javascript
怎样判断jQuery当前元素是隐藏还是显示
Nov 23 Javascript
细说webpack6 Babel的使用详解
Sep 26 Javascript
JS中FileReader类实现文件上传及时预览功能
Mar 27 Javascript
javascript实现获取中文汉字拼音首字母
May 19 Javascript
vue 使用post/get 下载导出文件操作
Aug 07 Javascript
带你使用webpack快速构建web项目的方法
Nov 12 Javascript
vue修饰符.capture和.self的区别
Apr 22 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
PHP制作图型计数器的例子
2006/10/09 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
关于PHP堆栈与列队的学习
2013/06/21 PHP
php动态生成函数示例
2014/03/21 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
Yii2汉字转拼音类的实例代码
2017/04/18 PHP
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
Jquery chosen动态设置值实例介绍
2013/08/08 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
Angular6笔记之封装http的示例代码
2018/07/27 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
JavaScript经典案例之简易计算器
2020/08/24 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
大学生预备党员自我评价分享
2013/11/16 职场文书
外贸采购员求职的自我评价
2013/11/26 职场文书
自我评价优秀范文分享
2013/11/30 职场文书
学习雷锋倡议书
2014/04/15 职场文书
公司会议开幕词
2015/01/29 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
Pygame Event事件模块的详细示例
2021/11/17 Python
vue使用element-ui按需引入
2022/05/20 Vue.js