clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015-10-10 09:15
543 查看
我们在网页上放置一个复制按钮,主要用来方便用户复制链接之类的复杂文本,以往的做法是,通过JS依靠Flash,甚至借助jQuery庞大的js库来实现文本复制到剪贴板的。今天我要给大家介绍的是一款极现代的,不需要flash,不依赖任何其他js库的非常小的插件,它叫clipboard.js。
运行效果图:
HTML
首先加载本地clipboard.js文件。
<script src="clipboard.min.js"></script>
然后就是在body中加上要复制或剪切的文本域内容以及按钮。
<input id="foo" value="//www.jb51.net/article/73145.htm"> <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库实现文本复制与剪切实现过程,希望对大家的学习有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- 如何在 Linux 上复制文件/文件夹到远程系统?
- js可突破windows弹退效果代码
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- sql server 复制表从一个数据库到另一个数据库
- C#中数组初始化与数组元素复制的方法
- 浅析C#的复制和克隆
- C#实现复制文件夹中文件到另一个文件夹的方法
- 爆炸式的JS圆形浮动菜单特效代码
- C#实现把dgv里的数据完整的复制到一张内存表的方法
- SQL Server数据复制到的Access两步走
- js select常用操作控制代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球
- js 页面模块自由拖动实例
- js实现小鱼吐泡泡在页面游动特效