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 相关文章推荐
Web层改进II-用xmlhttp 无声息提交复杂表单
Jan 22 Javascript
基于jQuery的实现简单的分页控件
Oct 10 Javascript
javascript进行四舍五入方法汇总
Dec 16 Javascript
通过JS判断联网类型和连接状态的实现代码
Apr 01 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
Node.js读写文件之批量替换图片的实现方法
Sep 07 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
Feb 05 Javascript
jQuery实现级联下拉框实战(5)
Feb 08 Javascript
jQuery的Ajax接收java返回数据方法
Aug 11 jQuery
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
Feb 14 jQuery
移动端手指操控左右滑动的菜单
Sep 08 Javascript
JS实现随机抽选获奖者
Nov 07 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
Discuz板块横排显示图片的实现方法
2007/05/28 PHP
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
解析strtr函数的效率问题
2013/06/26 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
理解Javascript_05_原型继承原理
2010/10/13 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
jquery中通过父级查找进行定位示例
2013/06/28 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
Bootstrap源码解读网格系统(3)
2016/12/22 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
vue生命周期实例小结
2018/08/15 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
2019/05/17 Javascript
python中字符串类型json操作的注意事项
2017/05/02 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
windows环境下tensorflow安装过程详解
2018/03/30 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
Python3.5实现的三级菜单功能示例
2019/03/25 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
django用户登录验证的完整示例代码
2019/07/21 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
上课说话检讨书大全
2014/01/22 职场文书
关爱残疾人演讲稿
2014/05/24 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书
CSS实现漂亮的时钟动画效果的实例代码
2021/03/30 HTML / CSS
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
Java循环队列与非循环队列的区别总结
2021/06/22 Java/Android