不依赖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 相关文章推荐
Add Formatted Data to a Spreadsheet
Jun 12 Javascript
详解jquery uploadify 上传文件
Nov 09 Javascript
js实现简单的购物车有图有代码
May 26 Javascript
用js一次改变多个input的readonly属性值的方法
Jun 11 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
Feb 20 Javascript
jQuery多级手风琴菜单实例讲解
Oct 22 Javascript
jQuery EasyUI 页面加载等待及页面等待层
Feb 06 Javascript
vue 粒子特效的示例代码
Sep 19 Javascript
4个顶级JavaScript高级文本编辑器
Oct 10 Javascript
JS实现的全选、全不选及反选功能【案例】
Feb 19 Javascript
微信小程序页面滚动到指定位置代码实例
Sep 07 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
Jun 28 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 表单提交给自己
2008/07/24 PHP
php中static静态变量的使用方法详解
2010/06/04 PHP
php中mkdir函数用法实例分析
2014/11/15 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
Opacity.js
2007/01/22 Javascript
js资料prototype 属性
2007/03/13 Javascript
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
2013/04/12 Javascript
js单词形式的运算符
2014/05/06 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
javascript中的隐式调用
2018/02/10 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
浅析Python中的join()方法的使用
2015/05/19 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
2020/07/20 HTML / CSS
英国第一的市场和亚马逊替代品:OnBuy
2019/03/16 全球购物
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
幼儿园三八妇女节活动方案
2014/03/11 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
房产公证书格式
2015/01/26 职场文书
网络管理员岗位职责
2015/02/12 职场文书
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技
Windows server 2012 R2 安装IIS服务器
2022/04/29 Servers