一、目前来说复制功能 clipboard.js基本可以兼容所有浏览器,可以任意复制文本,官方地址 https://clipboardjs.com/

1、进入官方网站下载 然后引入

<script src="js/clipboard.min.js"></script>

2、运用模板

   var clipboard = new ClipboardJS('.copy-btn');
clipboard.on('success', function(e) {
$('p').hide()
alert('复制成功')
console.log(e);//可以输出看到复制的所有信息
});
clipboard.on('error', function(e) {
console.log(e);
});

3、确定复制目标    data-clipboard-target='xxxx'

<span class='copy-btn'  data-clipboard-target='#Link"+i+"'>复制</span>  //复制id=Link的容器里的文本,因为我在这里是动态加载,所以用到了Link"+i+"
<p id='Link"+i+"' style='display:none'>"+data.info.serverUrl+data.info.pageInfo.list[i].link+"</p> //这是要复制的内容,动态加载,用id='Link"+i+"'

二、原生实现

1、复制其他目标文本

html

<textarea cols="" rows="" id="weixinhao" style="height: 20px;border: none;text-align: center;color: #3be09c;font-size: 18px;margin-top:8px;outline:none">要复制的内容</textarea>
<div style="margin-top: 10px;width: 60%;padding: 6px 0;background: #3be09c;color: #fff;border-radius: 18px;font-size: 14px;" id="copyWx">复制到粘贴板</div>

JS

document.getElementById("copyWx").onclick=function(){
var weixin=document.getElementById("weixinhao");//复制目标
weixin.select();
document.execCommand("Copy");
alert("复制成功");
}

2、复制点击本身文本

html

<div id="cardList">
<div class="btn">点击我,复制我</div>
</div>

JS

           function copy(str){ // str是要复制的目标
var save = function (e){
e.clipboardData.setData('text/plain',str);//下面会说到clipboardData对象
e.preventDefault();//阻止默认行为
}
document.addEventListener('copy',save);
document.execCommand("copy");//使文档处于可编辑状态,否则无效
} document.getElementById('cardList').addEventListener('click',function(ev){
copy(ev.target.innerText) //调用事件
alert('复制成功')
})

JS 一键复制插件应用 和 原生实现的更多相关文章

  1. js文本复制插件&vue

    /* HTML: * <a href="javascript:;" class="copy" data-clipboard-text="copy ...

  2. echarts.js(图表插件)2.0版会导致 ZeroClipboard.js(复制插件)失效,3.0版未知。

    解决方法:ZeroClipboard.js先于echarts.js加载.

  3. js 一键复制

    function copyURL(id){ var siteId=$("#siteId").val() var oInput = document.createElement('i ...

  4. js一键复制到剪切板

    <div id='demo'>我就是被复制的内容<span>点击复制<span></div> $('#demo').on('click','span', ...

  5. 一款给力的一键复制js插件-clipboard.js

    一款没有依赖的.给力的一键复制的JS插件   点我前往github 案例demo见下载包内demo文件夹. 这里晒出最常用的几种方式,以供不时之需. <!DOCTYPE html> < ...

  6. 原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间

    原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC " ...

  7. 原生js版分页插件

    之前我在自己的博客里发表了一篇用angularJs自定义指令实现的分页插件,今天简单改造了一下,改成了原生JavaScript版本的分页插件,可以自定义一些简单配置,特此记录下来.如有不足之处,欢迎指 ...

  8. js封装成插件

    由于项目原因,工作一年多还没用js写过插件,项目太成熟,平时基本都是在使用已经封装好的功能插件.感觉自己好low......这两天想自己抽空写一个canvas画统计图与折现图的插件,所以就去网上学习了 ...

  9. 【转】js实现复制到剪贴板功能,兼容所有浏览器

    两天前听了一个H5的分享,会议上有一句话,非常有感触:不是你不能,而是你对自己的要求太低.很简单的一句话,相信很多事情不是大家做不到,真的是对自己的要求太低,如果对自己要求多一点,那么你取得的进步可能 ...

随机推荐

  1. 最长递增子序列-Hdu 1257

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  2. python:字符串类型

    字符串概念 字符串:由单个字符组成的一个序列, 字符串是一个不可变的类型 形式: 非原始字符串: 单引号:单引号包起来的一段字符就是字符串 双引号:和单引号一样 三引号:三引号包括的字符串可以换行,保 ...

  3. 单播反向路径转发uRPF

    uRPF将数据包的源地址和存储在转发信息库(FIB)中的信息进行对照,以判定数据包的合法性.FIB是Cisco CEF技术中的一张表,包含从路由表中复制过来的转发信息,可以将其视为路由表的镜像,FIB ...

  4. 转专业后对于C语言补修的一些体会(2)

    第三章,有以下几个比较重要的点: 1. 强制类型转换. 强制类型转换是C语言中一个十分重要的工具,在C语言的使用中,有很多需要用到强制类型转换的地方,比如在除法中,如果想要得到正确的浮点结果,一般要确 ...

  5. nm

    nm是names的缩写,功能是列出目标文件的符号清单,常用来查看动态链接库中的函数. nm选项 -a   按照man手册,仅列出调试信息,实际上却是调试信息+正常信息 -A   增加一列显示目标文件, ...

  6. NOIP2016换教室 BZOJ 4720

    BZOJ 4720 换教室 题目描述: 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程.在可以选择的课程中,有2n节 课程安排在n个时间段上.在第i(1≤i≤n)个时间段上 ...

  7. Android Studio 使用入门及问题汇总

    声明:转载自http://blog.csdn.net/wei_chong_chong/article/details/56280383 之前一直用eclipse+adt做Android开发.曾经尝试使 ...

  8. Nginx Rewrite域名及资源重定向!(重点)

    第一步:搭建Nginx服务 第二步:修改主配置文件 [root@ns2 ~]# vim /usr/local/nginx/conf/nginx.conf user  nginx nginx; work ...

  9. 详解python的数字类型变量与其方法

    以下内容引自:https://www.jb51.net/article/97752.htm python数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间.下面 ...

  10. java.io.IOException: java.io.FileNotFoundException: /tmp/tomcat.2457258178644046891.8080/work/Tomcat/localhost/innovate-admin/C:/up/154884318438733213952/sys-error.log (没有那个文件或目录)

    环境: Ubuntu18 vue+elementUI 实现文件的上传 报错信息: MultipartFile.transferTo(dest) 报 FileNotFoundException java ...