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类中获取外部函数名的方法
Aug 19 Javascript
IFrame跨域高度自适应实现代码
Aug 16 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
May 10 Javascript
jqeury-easyui-layout问题解决方法
Mar 24 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
May 05 Javascript
jQuery实现视频作为全屏幕背景
Dec 18 Javascript
JS中prototype的用法实例分析
Mar 19 Javascript
JS和canvas实现俄罗斯方块
Mar 14 Javascript
详解webpack-dev-server使用方法
Sep 14 Javascript
JavaScript私有变量实例详解
Jan 24 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
Feb 01 Javascript
JavaScript实现点击切换功能
Jan 27 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清除缓存的几种方法总结
2017/09/12 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
2006/06/26 Javascript
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
jquery+css实现动感的图片切换效果
2015/11/25 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
2018/06/28 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
简单了解python高阶函数map/reduce
2019/06/28 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
python实现KNN近邻算法
2020/12/30 Python
俄罗斯领先的移动和数字设备在线商店:Svyaznoy.ru
2020/12/21 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
网络编辑求职信
2014/04/30 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
采购员岗位职责
2015/02/03 职场文书
客房服务员岗位职责
2015/02/09 职场文书
保护地球的宣传语
2015/07/13 职场文书
预备党员表决心的话
2015/09/22 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python
解析MySQL binlog
2021/06/11 MySQL