无需 Flash 使用 jQuery 复制文字到剪贴板


Posted in Javascript onApril 26, 2016

如果在网上找一个关于如何将一段特定的文本拷贝到剪贴板的解决方案,最可能的结果就是使用Flash的方案来做这个事,虽然使用Flash可以很好地解决这个问题,但是这不是一个明智的想法,因为这个产品最终会消失或者至少是浏览器不再提供支持,因此这个解决方案是没有未来的。虽然可以使用jQuery或者纯JavaScript,甚至完全自己写,但是当有人已经创建了一个解决方案,那么为什么还要重复发明轮子呢?让我们一起看看Clipboard.js吧。

Clipboard.js删除了Flash组件并且优雅地解决了这个问题,需要做的只是引入其脚本,在HTML标签上赋一个“data-clipboard-target”属性然后写一小段JavaScript片段。为了演示假定有一个货币转换应用,在一个文本框中输入数值时同时将兑换结果显示在另一个文本框中,当点击文本框时,会触发事件将其复制到剪贴板然后显示一条消息。 无需 Flash 使用 jQuery 复制文字到剪贴板

下面是我的实现。

假如这是你的文本框。(我使用MVC框架创建我的应用程序)

<divclass="row"><divclass="col-md-6">From<divclass="input-group">
<divclass="input-group-addon">$</div>
@Html.EditorFor(model=>model.AmountFrom,new{htmlAttributes=new{@class="form-controlinput-largest",@step="0.01",@type="number"}})
</div></div><divclass="col-md-6">To<divclass="input-group"><divclass="input-group-addon">$
</div><inputtype="text"id="AmountTo"value="@Model.AmountTo"class="form-controlinput-largest"readonlydata-clipboard-action="copy"data-clipboard-target="#AmountTo"/>
</div>
</div>
</div>

你有没有注意到我有一个 AmountTo和 一个AmountFrom,AmountTo是输入AmountFrom 是输出 ,当我们点击这个的时候其值就会传给剪切板。这个神奇的事情发生在属性“data-clipboard-target”里面。

我们也添加一个消息框用来显示拷贝动作消息

<divclass="row">
<divclass="col-md-6"><br/>
<spanid="messageBox"class="text-success"style="display:block;text-align:center"></span></div></div>

到这里就是你所关心的HTML部分。现在让我们去看JavaScript/jQuery 部分

<scriptsrc="~/Scripts/clipboard.min.js">
</script>
<script>varclipboard=newClipboard('#AmountTo');
clipboard.on('success',function(e){$("#messageBox").text("AmountSuccessfullyCopied!").show().fadeOut(2000);e.clearSelection();});clipboard.on('error',function(e){$("#messageBox").text("ErrorCopyingAmount").show().fadeOut(2000);});$('#AmountFrom').click(function(){$("#AmountFrom").val("");});
</script>

至此,会发现我们只是引入了clipoard.js,如果实例化Clipboard成功,然后会给事件赋予一些动作,否则它会触发一个错误,是这样吧?这一切都很好,它能兼容所有最新的浏览器,除了IE,它会给出下面这样的一个消息。

无需 Flash 使用 jQuery 复制文字到剪贴板

如果希望看一下实际的效果,这是一个JSFiddle示例。

接下来就是抓取剪贴板的数据然后当点击时自动地粘贴到一个文本框,至此,看上去浏览器因为一个安全上的风险会阻止它,但是我会尝试找到甚至做出一个方案,因此大家还得继续关注。

Javascript 相关文章推荐
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
Apr 27 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
Apr 23 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
Feb 11 Javascript
初步使用bootstrap快速创建页面
Mar 03 Javascript
jQuery  ready方法实现原理详解
Oct 19 Javascript
Mongoose学习全面理解(推荐)
Jan 21 Javascript
Angular 2.x学习教程之结构指令详解
May 25 Javascript
使用百度地图实现地图网格的示例
Feb 06 Javascript
vue 点击按钮增加一行的方法
Sep 07 Javascript
VUE 配置vue-devtools调试工具及安装方法
Sep 30 Javascript
js实现下拉框二级联动
Dec 04 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
Aug 11 Javascript
JavaScript事件处理的方式(三种)
Apr 26 #Javascript
学习AngularJs:Directive指令用法(完整版)
Apr 26 #Javascript
jQuery siblings()用法实例详解
Apr 26 #Javascript
JQuery插件Marquee.js实现无缝滚动效果
Apr 26 #Javascript
Angular.js回顾ng-app和ng-model使用技巧
Apr 26 #Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
Apr 26 #Javascript
Bootstrap网格系统详解
Apr 26 #Javascript
You might like
dedecms模板标签代码官方参考
2007/03/17 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
Javascript中的变量使用说明
2010/05/18 Javascript
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
解决jquery中美元符号命名冲突问题
2014/01/08 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
Javascript实现base64的加密解密方法示例
2017/06/27 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
实例讲解Python中函数的调用与定义
2016/03/14 Python
python中set()函数简介及实例解析
2018/01/09 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
Python实现购物车购物小程序
2018/04/18 Python
对python Tkinter Text的用法详解
2018/10/11 Python
set在python里的含义和用法
2019/06/24 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
Python绘制股票移动均线的实例
2019/08/24 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
2019/08/31 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
python实现126邮箱发送邮件
2020/05/20 Python
keras K.function获取某层的输出操作
2020/06/29 Python
python+opencv实现车道线检测
2021/02/19 Python
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
空指针到底是什么
2012/08/07 面试题
鞋类设计与工艺专业销售求职信
2013/11/01 职场文书
高校学生干部的自我评价分享
2013/11/04 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
警校毕业生自我评价
2014/04/06 职场文书
环保建议书400字
2014/05/14 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书