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 相关文章推荐
特殊字符、常规符号及其代码对照表
Jun 26 Javascript
Jquery chosen动态设置值实例介绍
Aug 08 Javascript
JQuery下拉框应用示例介绍
Apr 23 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
Jun 09 Javascript
JavaScript中计算网页中某个元素的位置
Jun 10 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
Jul 14 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
Nov 10 Javascript
javascript ES6中箭头函数注意细节小结
Feb 17 Javascript
很棒的vue弹窗组件
May 24 Javascript
vue-router 导航钩子的具体使用方法
Aug 31 Javascript
Vue项目history模式下微信分享爬坑总结
Mar 29 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
Feb 26 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中,文件上传
2006/12/06 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
php遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
php实现word转html的方法
2016/01/22 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
window.onerror()的用法与实例分析
2016/01/27 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
2016/09/06 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
js中如何完美的解析数据
2018/03/18 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
python实现堆和索引堆的代码示例
2018/03/19 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
Python 音频生成器的实现示例
2019/12/24 Python
基于python实现文件加密功能
2020/01/06 Python
Python restful框架接口开发实现
2020/04/13 Python
戴尔英国官网:Dell英国
2017/05/27 全球购物
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
意大利婴儿产品网上商店:Mukako
2018/10/14 全球购物
上班看电影检讨书
2014/02/12 职场文书
十佳家长事迹材料
2014/08/26 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
奖学金个人总结
2015/03/04 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS
SpringBoot中HttpSessionListener的简单使用方式
2022/03/17 Java/Android