不依赖Flash和任何JS库实现文本复制与剪切附源码下载


Posted in Javascript onOctober 09, 2015

效果图如下:

不依赖Flash和任何JS库实现文本复制与剪切附源码下载

我们在网页上放置一个复制按钮,主要用来方便用户复制链接之类的复杂文本,以往的做法是,通过JS依靠Flash,甚至借助jQuery庞大的js库来实现文本复制到剪贴板的。今天我要给大家介绍的是一款极现代的,不需要flash,不依赖任何其他js库的非常小的插件,它叫clipboard.js。

查看演示 下载源码

HTML

首先加载本地clipboard.js文件。

<script src="clipboard.min.js"></script>

然后就是在body中加上要复制或剪切的文本域内容以及按钮。

<input id="foo" value="https://3water.com/demo/clipboard/"> 

<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实现新闻滚动效果(实例代码)
Nov 27 Javascript
解析jquery中的ajax缓存问题
Dec 19 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
Jun 24 Javascript
js获取元素外链样式的方法
Jan 27 Javascript
简单纯js实现点击切换TAB标签实例
Aug 23 Javascript
跟我学习javascript的基本类型和引用类型
Nov 16 Javascript
Node.js使用cookie保持登录的方法
May 11 Javascript
JS实现返回上一页并刷新页面的方法分析
Jul 16 Javascript
React-redux实现小案例(todolist)的过程
Sep 29 Javascript
解决vue-router 切换tab标签关闭时缓存问题
Jul 22 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
Sep 29 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
Oct 27 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
Oct 09 #Javascript
jQuery往返城市和日期查询实例讲解
Oct 09 #Javascript
JS实现黑色风格的网页TAB选项卡效果代码
Oct 09 #Javascript
jQuery实现连续动画效果实例分析
Oct 09 #Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
Oct 09 #Javascript
jQuery拖动布局其结果保存到数据库
Oct 09 #Javascript
JS实现可展开折叠层的鼠标拖曳效果
Oct 09 #Javascript
You might like
用ODBC的分页显示
2006/10/09 PHP
简单的php写入数据库类代码分享
2011/07/26 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
PHP登录(ajax提交数据和后台校验)实例分享
2016/12/29 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
php并发加锁问题分析与设计代码实例讲解
2021/02/26 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
2010/04/25 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
JS小数运算出现多为小数问题的解决方法
2016/06/02 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
2017/04/24 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
2019/05/15 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
python3实现微型的web服务器
2019/09/03 Python
pycharm通过ssh连接远程服务器教程
2020/02/12 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
顶级宝石首饰网络零售商:Angara
2016/10/25 全球购物
Foreo国际站:Foreo International
2018/10/29 全球购物
Java里面如何把一个Array数组转换成Collection, List
2013/07/26 面试题
.NET程序员的几道面试题
2012/06/01 面试题
九年级数学教学反思
2014/02/02 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
詹天佑教学反思
2014/04/30 职场文书
岗位说明书标准范本
2014/07/30 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
入党积极分子党支部意见
2015/06/02 职场文书