clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切


Posted in Javascript onOctober 10, 2015

我们在网页上放置一个复制按钮,主要用来方便用户复制链接之类的复杂文本,以往的做法是,通过JS依靠Flash,甚至借助jQuery庞大的js库来实现文本复制到剪贴板的。今天我要给大家介绍的是一款极现代的,不需要flash,不依赖任何其他js库的非常小的插件,它叫clipboard.js。

运行效果图:

 clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切

HTML
首先加载本地clipboard.js文件。

<script src="clipboard.min.js"></script>

然后就是在body中加上要复制或剪切的文本域内容以及按钮。

<input id="foo" value="https://3water.com/article/73145.htm"> 
<button class="btn" data-clipboard-target="#foo" aria-label="复制成功!">复制</button>

这里,我们使用了HTML5的data-属性,用来定位复制对象目标,它指向了文本域#foo,说明复制的是#foo中的value内容,aria-label属性定义了复制成功后的信息,用来提示复制结果信息。
还有个属性data-clipboard-action,它定义当前操作是复制还是剪切,默认是复制,当data-clipboard-action="cut",这时,点击按钮将会剪切文本,跟WORD操作一样。当然,剪切操作仅适用于text和textarea。
我们也可以不需要input和textarea等元素内容作为复制对象,我们可以将要复制的内容通过ata-clipboard-text属性定义在按钮上,点击按钮就可以复制到ata-clipboard-text对应的内容。

<button class="btn" data-clipboard-text="这里是要复制的内容" aria-label="复制成功!">复制</button>

Javascript
将以下一句代码加入到</body>前的<script>里,保存打开浏览,点击按钮即可复制。

new Clipboard('.btn');

当然我们可以再进一步处理,比如当复制完成后,提示复制成功信息更友好些,只要执行以下代码即可:

var clipboard = new Clipboard('.btn'); 
 
clipboard.on('success', function(e) { 
 var msg = e.trigger.getAttribute('aria-label'); 
 alert(msg); 
 
 e.clearSelection(); 
});

以上就是,不需要flash,不依赖任何其他js库实现文本复制与剪切实现过程,希望对大家的学习有所帮助。

Javascript 相关文章推荐
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
May 27 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
Jun 01 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
Jun 02 Javascript
javascript打印大全(打印页面设置/打印预览代码)
Mar 29 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
Apr 20 Javascript
将list转换为json失败的原因
Dec 17 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
Aug 14 Javascript
纯javascript响应式树形菜单效果
Nov 10 Javascript
Bootstrap媒体对象的实现
May 01 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
Dec 13 Javascript
微信小程序 用户数据解密详细介绍
Jan 09 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
Jan 20 Javascript
页面内容排序插件jSort使用方法
Oct 10 #Javascript
JavaScript子窗口调用父窗口变量和函数的方法
Oct 09 #Javascript
js中unicode转码方法详解
Oct 09 #Javascript
chrome浏览器当表单自动填充时如何去除浏览器自动添加的默认样式
Oct 09 #Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
Oct 09 #Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
Oct 09 #Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
Oct 09 #Javascript
You might like
将PHP作为Shell脚本语言使用
2006/10/09 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
phpQuery让php处理html代码像jQuery一样方便
2015/01/06 PHP
PHP中iconv函数知识汇总
2015/07/02 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
jQuery编写widget的一些技巧分享
2010/10/28 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
js格式化时间小结
2014/11/03 Javascript
jQuery结合ajax实现动态加载文本内容
2015/05/19 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
jQuery实现select模糊查询(反射机制)
2017/01/14 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
PyQt5实现下载进度条效果
2018/04/19 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
python实现淘宝购物系统
2019/10/25 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
使用CSS3中的calc()属性来以算式表达尺寸数值
2016/06/06 HTML / CSS
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
青年教师培训方案
2014/02/06 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
2015年上半年物业工作总结
2015/03/30 职场文书
农村婚庆主持词
2015/06/29 职场文书
行为习惯主题班会
2015/08/14 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技