js复制功能的有效方法总结新
一,用js原生的document.execCommand()
function copy(){ var Url2=document.getElementById("xjh"); Url2.select(); try{ if(document.execCommand('copy', true, null)){ document.execCommand("Copy"); alert("已复制好,可贴粘。"); } else{ alert("复制失败,请手动复制"); } } catch(err){ alert("复制失败,请手动复制"); }} 兼容性:测试过,兼容IE8以上,谷歌43以上也支持。 二,用jquery插件
jquery.zclip.min.js的用法
jquery.zclip.min.js的作用可用jquery的插件:zclip解决js复制在不同浏览器的支持度。但是前提需要安装flash。
首先的引用jquery包
如果是复制的内容来自输入框input、textarea等,copy对象使用:
代码如下
三,clipboard.js 的使用
clipboard.js 是一个不需要flash,将文本复制到剪贴板的插件。简单介绍下基本运用。
1 引入插件
<pre>
<script src="js/clipboard.min.js"></script>
</pre>
2基本使用
首先需要您需要通过传递DOM选择器,HTML元素或HTML元素列表来实例化它。
<pre>
new Clipboard('.btn');
</pre>
1用一个元素当触发器来复制另一个元素的文本,data-clipboard-target属性后需要跟属性选择器
<pre>
<input id="foo" value="https://github.com/zenorocha/clipboard.js.git">
<button class="btn" data-clipboard-target="#foo">
</button>
</pre>
另外还有另外一个属性data-clipboard-action属性,以指定是要要么copy还是要cut操作。默认情况下是copy。cut操作只适用于<input>或<textarea>元素。
<pre>
<textarea id="bar">Mussum ipsum cacilds...</textarea>
<button class="btn" data-clipboard-action="cut" data-clipboard-target="#bar">
Cut to clipboard
</button>
</pre>
2从属性中复制文本,不需要另一个元素当触发器,可以使用data-clipboard-text属性,在后面放上需要复制的文本.
<pre>
<button class="btn" data-clipboard-text="Just because you can doesn't mean you should — clipboard.js">
Copy to clipboard
</button>
</pre>
3其他说明
1通过运行检查clipboard.js是否支持Clipboard.isSupported(),返回true则可以使用。
2显示一些用户反馈或捕获在复制/剪切操作后选择的内容。操作,文本,触发元素
<pre>
var clipboard = new Clipboard('.btn');
clipboard.on('success', function(e) { console.info('Action:', e.action); console.info('Text:', e.text); console.info('Trigger:', e.trigger); e.clearSelection(); }); clipboard.on('error', function(e) { console.error('Action:', e.action); console.error('Trigger:', e.trigger); });
</pre>
3该插件使用的是事件委托的方式来触发,所以大大减少了对dom的操作。
4高级使用
如果你不想修改你的HTML,那么你可以使用一个非常方便的命令API。所有你需要做的是声明一个函数,写下你想要的操作,并返回一个值。下面是一个对不同id的触发器返回不同的值的例子。具体的使用方法请看https://clipboardjs.com
<pre>
<body>
<input id="foo" value="https://github.com/zenorocha/clipboard.js.git">
<button id='foo_1' class="btn" data-clipboard-target="#foo">
</button>
</body>
<script>
new Clipboard('.btn', {
text: function(trigger) {
if(trigger.getAttribute('id')=='foo_1'){
return 1;
}else{
return 2;
}
}
});
</script>
</pre>
作者:最爱是荔枝链接:https://www.jianshu.com/p/3f8867de041e來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
转载于:https://www.cnblogs.com/LGDD/p/8242535.html
js复制功能的有效方法总结新相关推荐
- js中text方法是啥意识_一盏茶的时间,快速捕获JS中常用的方法(细心整理,持续更新ing)...
不知不觉上班一周辽-趁着大好周末,小编挣扎着从床上爬起来,决定对前端日常编程中常用到的一些方法做一个系统的整合. 有些人或许会觉得忘了百度就完事儿,no no no!这事儿小编真的亲践过好多次,百度一 ...
- js获取元素的方法与属性
js获取元素的方法 可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html对象,然后将它赋值给一个变量 <scripttyp ...
- js入门·对象属性方法大总结
数组(Array):系列元素的有序集合: 详细演示请看:[js入门系列演示·数组 ] http://www.cnblogs.com/thcjp/archive/2006/08/04/467761.ht ...
- php刷新onload(),JS页面刷新的方法总结
我们在前面介绍了JavaScript刷新页面location.reload()的用法,其实在JS中刷新页面的方法有很多种,这只是其中的一种,那么今天我们就带大家学习下JS刷新页面的方法总结! wind ...
- html js url 跳转页面内容,js跳转页面方法总结
js跳转页面方法大全3祥子网屋;秒后自动跳转-- function countDown(secs){ tiao.innerText=secs; if(--secs>0) setTimeout(& ...
- JS中创建对象的方法
JS中创建对象的方法 最近手头一个项目刚完成,下一个显目还在准备中,趁这个空档期,拿起尘封多年的JS书, 重温一遍JS面向对象程序设计,然后就得出下文,算是一个总结吧. 也许,你会说 "创建 ...
- jquery中的map()方法与js中的map()方法
1.jquery中的map()方法 首先看一个简单的实例: $("p").append( $("input").map(function(){ return $ ...
- 请尽可能说出js中数组的方法,最少3个,越多越好
我接下来要把数组方法全都过一遍,顺手做个整理. 至于为什么整理这个,最近总听说面试经常会问到这个问题, 面试官灵魂发问:请尽可能说出js中数组的方法,最少3个,越多越好 据可靠消息了解到,如果你回答的 ...
- Js 字符串属性及方法
Js 字符串属性及方法 本文记录下字符串相关属性及方法,参考文档 MDM String. 一.语法: 'hello world' "hello world" "中文&qu ...
最新文章
- 学习jquery的一些笔记
- 使用jXLS将Excel文件解析为JavaBeans
- 阿里涉江:你真的会学习吗?从结构化思维说起
- java map 数组_java技术Spring集合属性
- 打造超酷的PHP数据饼图
- 数据挖掘:围绕 统计与概率、分类与聚类、检索方法 ,原理演示或应用程序
- k8s集群之master节点部署
- 2010-2020年全国poi兴趣点
- ssm+安卓APP校园学生疫情防范监控系统毕业设计源码281444
- Unity3D视频教程,Unity3D从入门到精通视频教程
- java可以进行爬虫吗_java能写爬虫程序吗
- Google Picasa2
- system.gc()和-XX:+DisableExplicitGC启动参数,以及DirectByteBuffer的内存释放
- 旧手机改服务器,并配合花生壳实现外网访问的方法
- EXCEL 制作多簇并列的堆积柱形图
- Required request body is missing:ParameterException解决方法
- linux与windows内核哪个难学,国产操作系统为何都基于Linux内核?又和Windows像?
- 1178_hardware_basic_什么是高阻态
- makefile传字符串给c语言,makefile终极奥义
- MISC 拼图 工具 linux下使用
热门文章
- double 直接舍去 保留两位小数
- Debian中几个bash初始化脚本使用区别--【转载】
- 【转】linux之pmap命令!
- 貌似长沙有个用膳吧外卖网
- svn trunk branches tags 的用法
- POJ2669不错的最大流 竞赛问题(枚举King的个数)
- 【Groovy】json 字符串反序列化 ( 使用 JsonSlurper 进行 json 字符串反序列化 | 根据 map 集合构造相关类 )
- 【错误记录】Android 应用运行报错 ( java.lang.VerifyError: Verifier rejected class androidx. | 逆向中遇到的问题 )
- 【C 语言】文件操作 ( 文件加密解密 | 加密文件 )
- 【错误记录】反射时调用方法及成员报错 ( 执行反射方法 | 设置反射的成员变量 | 设置方法/成员可见性 )