不依赖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 相关文章推荐
jquery $.ajax入门应用二
Nov 19 Javascript
javascript 打印内容方法小结
Nov 04 Javascript
第一个JavaScript入门基础 document.write输出
Feb 22 Javascript
javascript的propertyIsEnumerable()方法使用介绍
Apr 09 Javascript
js中直接声明一个对象的方法
Aug 10 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
May 09 Javascript
Javascript基础回顾之(二) js作用域
Jan 31 Javascript
从零学习node.js之模块规范(一)
Feb 21 Javascript
Vue项目中引入外部文件的方法(css、js、less)
Jul 24 Javascript
vue router下的html5 history在iis服务器上的设置方法
Oct 18 Javascript
vue 插件的方法代码详解
Jun 06 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数据源表结构图示
2008/06/05 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
简单谈谈 php 文件锁
2017/02/19 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
javascript椭圆旋转相册实现代码
2012/01/16 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
2013/09/13 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
浅谈JS中String()与 .toString()的区别
2016/10/20 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
Python中实现远程调用(RPC、RMI)简单例子
2014/04/28 Python
wxPython窗口中文乱码解决方法
2014/10/11 Python
21行Python代码实现拼写检查器
2016/01/25 Python
python爬取个性签名的方法
2018/06/17 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
python随机生成库faker库api实例详解
2019/11/28 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
css3动画效果抖动解决方法
2018/09/03 HTML / CSS
英文简历中的自荐信范文
2013/12/14 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
计划生育证明格式范本
2014/09/12 职场文书
群众路线对照检查剖析材料
2014/10/09 职场文书
2014年生产部工作总结
2014/12/17 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python
一文搞懂Java中的注解和反射
2022/06/21 Java/Android