不依赖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_06_理解对象的创建过程
Oct 15 Javascript
利用js实现选项卡的特别效果的实例
Mar 03 Javascript
javascript实现window.print()去除页眉页脚
Dec 30 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
Jul 27 Javascript
深入理解JS函数的参数(arguments)的使用
May 28 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
Sep 21 Javascript
bootstrap读书笔记之CSS组件(上)
Oct 17 Javascript
js 模仿锚点定位的实现方法
Nov 19 Javascript
vue数组对象排序的实现代码
Jun 20 Javascript
Vue实现的父组件向子组件传值功能示例
Jan 19 Javascript
小程序如何定位所在城市及发起周边搜索
Feb 11 Javascript
Node.js中文件系统fs模块的使用及常用接口
Mar 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
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
js 幻灯片的实现
2011/12/06 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
python发送邮件示例(支持中文邮件标题)
2014/02/16 Python
查看python下OpenCV版本的方法
2018/08/03 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
2019/05/10 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
int和Integer有什么区别
2013/05/25 面试题
开业庆典答谢词
2014/01/18 职场文书
2014年女职工工作总结
2014/11/27 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
56句经典英文座右铭
2019/08/09 职场文书
go语言中json数据的读取和写出操作
2021/04/28 Golang
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android
Vue全局事件总线你了解吗
2022/02/24 Vue.js
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js
Go并发4种方法简明讲解
2022/04/06 Golang