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的实现原理的模拟代码 -1 核心部分
Aug 01 Javascript
javascript采用数组实现tab菜单切换效果
Dec 12 Javascript
jquery的ajax跨域请求原理和示例
May 08 Javascript
jQuery源码解读之removeClass()方法分析
Feb 20 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
AngularJS通过$sce输出html的方法
Sep 22 Javascript
JavaScript实现打印星型金字塔功能实例分析
Sep 27 Javascript
vue实现商城购物车功能
Nov 27 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
echarts.js 动态生成多个图表 使用vue封装组件操作
Jul 19 Javascript
解决vue路由name同名,路由重复的问题
Aug 05 Javascript
js实现弹窗猜数字游戏
Nov 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
wampserver改变默认网站目录的办法
2015/08/05 PHP
Centos PHP 扩展Xchche的安装教程
2016/07/09 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
JavaScript版代码高亮
2006/06/26 Javascript
取得一定长度的内容,处理中文
2006/12/20 Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
jQuery之尺寸调整组件的深入解析
2013/06/19 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
javascript实现数组中的内容随机输出
2015/08/11 Javascript
JavaScript常用函数工具集:lao-utils
2016/03/01 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
vue.js事件处理器是什么
2017/03/20 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
python 实现多线程下载视频的代码
2019/11/15 Python
WxPython实现无边框界面
2019/11/18 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
python的dict判断key是否存在的方法
2020/12/09 Python
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
教育课题研究自我鉴定范文
2013/12/28 职场文书
学生会主席就职演讲稿
2014/01/14 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
2015年母亲节寄语
2015/03/23 职场文书
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript
Nginx安装配置详解
2022/06/25 Servers