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 大家可以参考下
Oct 13 Javascript
JS实现div内部的文字或图片自动循环滚动代码
Apr 19 Javascript
多个$(document).ready()的执行顺序实例分析
Jul 26 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
Oct 17 Javascript
JavaScript转换二进制编码为ASCII码的方法
Apr 16 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
Nov 14 Javascript
vue项目部署上线遇到的问题及解决方法
Jun 10 Javascript
Vue中的基础过渡动画及实现原理解析
Dec 04 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
Nov 07 jQuery
Vuex实现数据共享的方法
Dec 20 Javascript
electron踩坑之remote of undefined的解决
Oct 06 Javascript
JS实现简易日历效果
Jan 25 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原理之异常机制深入分析
2010/08/08 PHP
PHP关联数组的10个操作技巧
2013/01/21 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
2019/05/08 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
js异或加解密效果代码
2008/06/25 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
前端性能优化建议
2020/09/17 Javascript
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
PYTHON绘制雷达图代码实例
2019/10/15 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
波兰在线运动商店:YesSport
2020/07/23 全球购物
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
自荐书模板
2013/12/19 职场文书
集体备课反思
2014/02/12 职场文书
信息技术培训感言
2014/03/06 职场文书
公司门卫岗位职责
2014/03/15 职场文书
2014年预备党员学习两会心得体会
2014/03/17 职场文书
主题教育活动总结
2014/05/05 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
五好家庭申报材料
2014/12/20 职场文书
活动经费申请报告
2015/05/15 职场文书
通知怎么写?
2019/04/17 职场文书
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers