不依赖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 相关文章推荐
一段实时更新的时间代码
Jul 07 Javascript
web页面数据展示新想法(json)
Jun 08 Javascript
javascript闭包的高级使用方法实例
Jul 04 Javascript
jquery中选择块并改变属性值的方法
Jul 31 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
May 25 Javascript
基于JavaScript实现在新的tab页打开url
Aug 04 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
Aug 19 Javascript
Node.js中你不可不精的Stream(流)
Jun 08 Javascript
vue项目打包后怎样优雅的解决跨域
May 26 Javascript
vue 查看dist文件里的结构(多种方式)
Jan 17 Javascript
微信小程序自定义底部弹出框动画
Nov 18 Javascript
Taro小程序自定义顶部导航栏功能的实现
Dec 17 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
用Php实现链结人气统计
2006/10/09 PHP
怎样在php中使用PDF文档功能
2006/10/09 PHP
PHP 自定义错误处理函数trigger_error()
2013/03/26 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
php替换字符串中间字符为省略号的方法
2015/05/04 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
Jquery判断$(&quot;#id&quot;)获取的对象是否存在的方法
2013/09/25 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
解决vue2中使用axios http请求出现的问题
2018/03/05 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
一个简单的python程序实例(通讯录)
2013/11/29 Python
讲解Python中fileno()方法的使用
2015/05/24 Python
python实现简单登陆流程的方法
2018/04/22 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
python绘制雷达图实例讲解
2021/01/03 Python
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
荷兰皇家航空公司官方网站:KLM Royal Dutch Airlines
2017/12/07 全球购物
公司活动总结范文
2014/07/01 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
2016情人节宣传语
2015/07/14 职场文书
门卫管理制度范本
2015/08/05 职场文书
导游词之宁夏贺兰山岩画
2019/11/08 职场文书
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
pytorch 实现变分自动编码器的操作
2021/05/24 Python
React 高阶组件HOC用法归纳
2021/06/13 Javascript
python工具dtreeviz决策树可视化和模型可解释性
2022/03/03 Python