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实现鼠标移上弹出提示框、移出消失思路及代码
May 19 Javascript
实现只能输入数字的input不用replace方法
Sep 12 Javascript
js获取当前地址 JS获取当前URL的示例代码
Feb 26 Javascript
Jquery节点遍历next与nextAll方法使用示例
Jul 22 Javascript
Javascript中设置默认参数值示例
Sep 11 Javascript
JavaScript实现将文本框的值插入指定位置的方法
Aug 13 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
Sep 17 Javascript
JS求解三元一次方程组值的方法
Jan 03 Javascript
JavaScript实现三级联动菜单实例代码
Jun 26 Javascript
用node和express连接mysql实现登录注册的实现代码
Jul 05 Javascript
BootStrap入门学习第一篇
Aug 28 Javascript
Vue中通过vue-router实现命名视图的问题
Apr 23 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自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
jquery text()要注意啦
2009/10/30 Javascript
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
two.js之实现动画效果示例
2017/11/06 Javascript
jQuery封装animate.css的实例
2018/01/04 jQuery
使用jquery DataTable和ajax向页面显示数据列表的方法
2018/08/09 jQuery
个人小程序接入支付解决方案
2019/05/23 Javascript
VUE安装使用教程详解
2019/06/03 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
Vue中通过vue-router实现命名视图的问题
2020/04/23 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
Python实现在线程里运行scrapy的方法
2015/04/07 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
使用celery和Django处理异步任务的流程分析
2020/02/19 Python
Python基于class()实现面向对象原理详解
2020/03/26 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
物业招聘计划书
2014/01/10 职场文书
知识竞赛活动方案
2014/02/18 职场文书
双方协议书
2014/04/22 职场文书
投标服务承诺书
2014/05/28 职场文书
宣传标语大全
2014/07/01 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
打架检讨书范文
2015/01/27 职场文书
python Polars库的使用简介
2021/04/21 Python
bose降噪耳机音能消除人声吗
2022/04/19 数码科技
Linux中sftp常用命令整理
2022/06/28 Servers