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 相关文章推荐
IE6下CSS图片缓存问题解决方法
Dec 09 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
Jun 12 Javascript
jQuery简单tab切换效果实现方法
Apr 08 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
Jun 19 Javascript
javascript实现保留两位小数的多种方法
Dec 18 Javascript
JavaScript获取当前url根目录(路径)
Jun 17 Javascript
jQuery插件扩展extend的简单实现原理
Jun 24 Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
JavaScript实现获取两个排序数组的中位数算法示例
Feb 26 Javascript
JS实现查找数组中对象的属性值是否存在示例
May 24 Javascript
微信小程序 轮播图实现原理及优化详解
Sep 29 Javascript
jQuery treeview树形结构应用
Mar 24 jQuery
页面内容排序插件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
输出控制类
2006/10/09 PHP
PHP伪静态写法附代码
2008/06/20 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
Zend Framework教程之Autoloading用法详解
2016/03/08 PHP
php PDO异常处理详解
2016/11/20 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
Bootstrap 布局组件(全)
2016/07/18 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
es6函数之尾调用优化实例分析
2020/04/25 Javascript
浅谈Python中range和xrange的区别
2017/12/20 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
一百行python代码将图片转成字符画
2021/02/19 Python
python日志logging模块使用方法分析
2019/05/23 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
实习销售业务员自我鉴定
2013/09/21 职场文书
运动会跳远广播稿
2014/02/04 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
Python使用Kubernetes API访问集群
2021/05/30 Python