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 相关文章推荐
Javascript数组操作函数总结
Feb 05 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
May 29 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
Jun 24 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
Feb 09 Javascript
angular.js指令中的controller、compile与link函数的不同之处
May 10 Javascript
原JS实现banner图的常用功能
Jun 12 Javascript
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
小程序红包雨的实现示例
Feb 19 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
Dec 12 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
Mar 10 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
Jul 22 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
Aug 06 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
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
php日历制作代码分享
2014/01/20 PHP
win7计划任务定时执行PHP脚本设置图解
2014/05/09 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
javascript引用对象的方法代码
2007/08/13 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
jQuery基于Ajax方式提交表单功能示例
2017/02/10 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
对python cv2批量灰度图片并保存的实例讲解
2018/11/09 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
python ubplot使用方法解析
2020/01/10 Python
python如何使用代码运行助手
2020/07/03 Python
Python分类测试代码实例汇总
2020/07/23 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
节能宣传周活动总结
2014/05/08 职场文书
房屋授权委托书范本
2014/10/07 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
教你怎么用Python操作MySql数据库
2021/05/31 Python
详解Android中的TimePickerView(时间选择器)的用法
2022/04/30 Java/Android