不依赖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基本对象
Jan 11 Javascript
js原生态函数中使用jQuery中的 $(this)无效的解决方法
May 25 Javascript
关于JS控制代码暂停的实现方法分享
Oct 11 Javascript
JavaScript检查某个function是否是原生代码的方法
Aug 20 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
Sep 21 Javascript
JS+CSS相对定位实现的下拉菜单
Oct 06 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
Jul 01 Javascript
JavaScript中return用法示例
Nov 29 Javascript
JavaScript之underscore_动力节点Java学院整理
Jul 03 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
Aug 17 Javascript
Vue使用v-viewer实现图片预览
Oct 21 Javascript
JavaScript 定时器详情
Nov 11 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插入排序法实现数组排序实例
2015/02/16 PHP
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
取得传值的函数
2006/10/27 Javascript
filemanage功能中用到的common.js
2007/04/08 Javascript
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
jquery 插件 人性化的消息显示
2008/01/21 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
jQuery页面加载初始化的3种方法(推荐)
2016/06/02 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
vue如何安装使用Quill富文本编辑器
2018/09/21 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
基于openlayers实现角度测量功能
2020/09/28 Javascript
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
python读取与写入csv格式文件的示例代码
2017/12/16 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
中专生学习生活的自我评价分享
2013/10/27 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
高中军训感言500字
2014/02/24 职场文书
社区反邪教工作方案
2014/06/16 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
Python中使用subprocess库创建附加进程
2021/05/11 Python