JS 点击复制Copy插件--Zero Clipboard
写博客就是一周工作中遇到哪些问题,一个优点就是能够进行一个总结,另外一个优点就是下次遇到相同的问题即使那你记不住,也能够翻看你的博客攻克了。相同也能够帮到别人遇到与你一样问题的人。或者别人有比你更好的解决的方法,能够一起讨论,分析出更好的解决方法。所以这是个好习惯。既然是好习惯,那就得坚持。
可是想写好一篇博客好像不是那么easy的,由于你得有问题,不然你写什么,手放在键盘上不知道敲啥。或者是你自动学习了,对你的学习进行了总结。然后你得有得写。
这周公司同事分享的《贝叶斯方法》对我的感触挺大的。好像对我的见识一下拓宽了。里面涉及到的统计学,心理学等等非常多学科,然后 我总结了自己,学东西好像都学到的是皮毛。没有深入进去。贝叶斯算法还没全然理清,在网上看了一些资料,仅仅能说略懂。当然这么好的东西一下子没弄懂,那我就多花点时间呗。可是在没全然弄懂之前,让我写一篇关于贝叶斯方法的博客我想对于我来说是有一定难度的。我试着去理解,还拿PPT给我女朋友大概讲了一遍,方便自己增强记忆。她貌似是懂了。她一直觉得自己智商比我高。好吧,扯远了。
这周还是写一个工作中遇到的问题吧。
问题例如以下:
表格里面有非常多列,每一列的URL我都得复制。点复制则复制当前列的URL;
网上找了非常多方法。发现尽管功能能够实现,但浏览器兼容性不行。
然后想到去找js插件,找到了一款各个浏览器都兼容得不错的JS复制插件 Zero Clipboard 。
Zero Clipboard 的实现原理
Zero Clipboard 利用 Flash 进行复制,之前有 Clipboard Copy 解决方式,其利用的是一个隐藏的 Flash。但最新的 Flash Player 10 仅仅同意在 Flash 上进行操作才干启动剪贴板。所以
Zero Clipboard 对此进行了改进,用了一个透明的 Flash ,让其漂浮在button之上,这样事实上点击的不是button而是 Flash ,也就能够使用 Flash 的复制功能了。
怎样使用
Zero Clipboard
首先下载Zero
Clipboard,并解压缩。当中须要两个文件:ZeroClipboard.js 和 ZeroClipboard.swf ,将这两个文件放入到你的项目中。
下载下来后里面有个小样例。例如以下:
<!DOCTYPE html>
<html>
<head>
<title>Zero Clipboard Test</title>
<meta charset="utf-8">
</head>
<body>
<!--
说明:
1.data-clipboard-target 输入要复制的对象的ID
-->
<button id="d_clip_button" class="my_clip_button" data-clipboard-target="fe_text"><b>拷贝到剪贴板</b></button>
<br/>
<textarea id="fe_text" cols="50" rows="3">输入须要复制的内容</textarea>
</body>
</html>
<script type="text/javascript" src="ZeroClipboard.js"></script>
<script type="text/javascript">
// 定义一个新的复制对象
var clip = new ZeroClipboard( document.getElementById("d_clip_button"), {
moviePath: "ZeroClipboard.swf"
} ); // 复制内容到剪贴板成功后的操作
clip.on( 'complete', function(client, args) {
alert("复制成功,复制内容为:"+ args.text);
} ); </script>
效果例如以下图:
然后在你须要的地方CTRL+V就能够粘贴了。
然后把功能用到实际项目中,
效果例如以下图:
代码例如以下:
在TR中要复制的内容中的TD标签里面加:
注明:$i是循环数据出来的。循环一次,$i++;
<td id='fe_text<?php echo $i; ?>'>
样式是例如以下引入的:
<script type="text/javascript" src="/misc/js/ZeroClipboard.js"></script>
<script type="text/javascript">
<?php for($r=0;$r<$i;$r++): ?>
var clip = new ZeroClipboard( document.getElementById("d_clip_button<?php echo ($r+1); ?>"), {
moviePath: "/misc/js/ZeroClipboard.swf"
} );
clip.on( 'complete', function(client, args) {
alert("复制成功,复制内容为:"+ args.text);
} );
<?php endfor; ?>
</script>
最后,就OK了,測试了几个浏览器功能都是OK的。
JS 点击复制Copy插件--Zero Clipboard的更多相关文章
- JS 点击复制Copy (share)
分享自:http://www.cnblogs.com/athens/archive/2013/01/16/2862981.html 1.实现点击按钮,复制文本框中的的内容 1 <script t ...
- JS 点击复制Copy
1.实现点击按钮,复制文本框中的的内容 1 <script type="text/javascript"> 2 function copyUrl2() 3 { 4 va ...
- js实现点击复制网页内容(基于clipboard.js)
浏览网页过程中会遇到点击复制链接地址的情况,下面就介绍一种实现方法,该方法是基于clipboard.js: 官网地址:https://clipboardjs.com/: clipboard.js使用比 ...
- JS 点击复制按钮 将文字复制到手机剪贴板
我们在制作移动端网页的时候,经常会遇到这样一个问题,如何点击一个"复制"按钮,把一串文字复制到手机剪贴板,如上图所示. 看了网上的一些方法后,感觉那些方法都太复杂,有点要用插件,有 ...
- JS点击复制
<!DOCTYPE html><html><head> <script type="text/javascript"> functi ...
- js 点击复制内容
<textarea id="pushUrlsTxt" rows="5" cols="55"></textarea> ...
- JS 点击复制
一.原理分析 浏览器提供了 copy 命令 ,可以复制选中的内容 document.execCommand("copy") 如果是输入框,可以通过 select() 方法,选中输入 ...
- js点击复制剪贴板
代码用原生写的.工作中用的angular,所以如果有用angular的话,请把js代码copyToClipboard函数中的document.getElementById(elementId).inn ...
- js 点击复制文字
复制input里面的文字 html: <input id="content" class="form-control" type="text&q ...
随机推荐
- C-二维数组,多维数组
-----二维数组 ->在数组定义当中,行数和列数需要用常量定义 ->在定义的时候如果没有数值进行填充,则补零 ->第一个数是行,第二个数是列 ...
- C#语法糖: 扩展方法(常用)
今天继续分享C#4.0语法糖的扩展方法,这个方法也是我本人比较喜欢的方法.大家先想想比如我们以前写的原始类型不能满足现在的需求,而需要在该类型中添加新的方法来实现时大家会怎么做.我先说一下我没有学习到 ...
- textField:shouldChangeCharactersInRange:replacementString:
http://blog.csdn.net/mamong/article/details/44964801
- web-打印
项目前景 由于之前的打印是客户端程序,也就是winform做的,现在需要改版成网页版,其他功能都能够很好的实现,就是在打印上遇到一些难点.由于第一次做打印功能,刚开始照搬winform中调用word文 ...
- 范围for语句 && 列表初始值&& 标准库函数begin和end
范围for语句: 引入的意义:简化传统for的编写,主要用于遍历给定序列中的每个元素并对序列中的每个值执行某种操作,其语法形式是: for( 声明: 给定序列) { 执行的操作. } 其中,“给定序列 ...
- winPcap_1_开篇
什么是WinPcap WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库. 因为有些应用程序需要直接访问网络中的数据包.也就是说,那些应用程序需要访问原始数据包,即没有被操 ...
- hprof教程
大部分内容参考http://www.linuxidc.com/Linux/2012-04/58178.htm J2SE中提供了一个简单的命令行工具来对java程序的cpu和heap进行 profili ...
- 新花生壳+tomcat(内网映射,无需设置路由器)建站攻略
说明: 1.适用于内网用户(局域网,校园网,或者公司网等无法更改路由器映射的情况) 2.一共花了8块钱…………心疼.不过如果大家有钱的话,8块钱,少吃一顿麻辣烫就好了~总之,这个适用于测试网站,小访问 ...
- JS创建对象的七大模式
1. 工厂模式 function createPerson(name, age, job){var o = new Object();o.name = name;o.age = age;o.job = ...
- 动态编译添加php模块
注意:转载请注明出处:http://www.programfish.com/blog/?p=85 在很多时候我们用linux里搭建web服务器的时候会需要编译安装php套件,而在编译安装后可能又会需要 ...