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 相关文章推荐
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
Jan 22 Javascript
js setTimeout 常见问题小结
Aug 13 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
Aug 27 Javascript
js实现简单的星级选择器提交效果适用于评论等
Oct 18 Javascript
用Jquery实现滚动新闻
Feb 12 Javascript
javascript的回调函数应用示例
Feb 20 Javascript
JavaScript实现同步于本地时间的动态时间显示方法
Feb 02 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
Mar 23 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
Sep 19 Javascript
JS中常用的正则表达式
Sep 29 Javascript
js用类封装pop弹窗组件
Oct 08 Javascript
vue基础之data存储数据及v-for循环用法示例
Mar 08 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检查日期函数checkdate用法实例
2015/03/19 PHP
php简单获取目录列表的方法
2015/03/24 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
Jquery 学习笔记(一)
2009/10/13 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
JavaScript之filter_动力节点Java学院整理
2017/06/28 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
js get和post请求实现代码解析
2020/02/06 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
vue实现滚动鼠标滚轮切换页面
2020/12/13 Vue.js
[40:17]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第一场
2018/04/06 DOTA
Cpy和Python的效率对比
2015/03/20 Python
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python 内置函数memoryview(obj)的具体用法
2017/11/23 Python
Java及python正则表达式详解
2017/12/27 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
python安装教程
2018/02/28 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
python之拟合的实现
2019/07/19 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
人民调解员培训方案
2014/06/05 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
2014年设备管理工作总结
2014/11/26 职场文书
中学生社会实践教育活动总结
2015/05/06 职场文书
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL