不依赖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 相关文章推荐
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
May 04 Javascript
javascipt基础内容--需要注意的细节
Apr 10 Javascript
javascript通过navigator.userAgent识别各种浏览器
Oct 25 Javascript
基于jQuery实现最基本的淡入淡出效果实例
Feb 02 Javascript
AngularJS学习笔记之ng-options指令
Jun 16 Javascript
Jquery 分页插件之Jquery Pagination
Aug 25 Javascript
基于JQuery实现图片上传预览与删除操作
May 24 Javascript
详解webpack介绍&amp;安装&amp;常用命令
Jun 29 Javascript
详解如何用模块化的方式写vuejs
Dec 16 Javascript
JS实现页面跳转与刷新的方法汇总
Aug 30 Javascript
js原生map实现的方法总结
Jan 19 Javascript
es5 类与es6中class的区别小结
Nov 09 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
mysql+php分页类(已测)
2008/03/31 PHP
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
ThinkPHP关联模型操作实例分析
2012/09/23 PHP
PHP6 中可能会出现的新特性预览
2014/04/04 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
js函数的引用, 关于内存的开销
2012/09/17 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
js实现的动画导航菜单效果代码
2015/09/10 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
2016/12/14 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
JS自动生成动态HTML验证码页面
2017/06/14 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
2017/07/05 jQuery
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
js编写简易的计算器
2020/07/29 Javascript
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
django的model操作汇整详解
2019/07/26 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
Python中logging日志库实例详解
2020/02/19 Python
如何用python批量调整视频声音
2020/12/22 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
大学生职业生涯规划书模板
2014/01/18 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
PHP判断是否是json字符串
2021/04/01 PHP