一、目前来说复制功能 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. Flask - g变量

    传送门 http://flask.pocoo.org/docs/1.0/appcontext/#storing-data http://flask.pocoo.org/docs/1.0/appcont ...

  2. ubuntu中数据迁移的时候出现ImportError错误

    今天在Flask框架中使用数据库迁移的时候出现了如下错误: ImportError: libmysqlclient.so.20: cannot open shared object file: No ...

  3. CSS:定位概述

    background-position 背景定位 如果,说浮动, 关键在一个 "浮" 字上面, 那么 我们的定位,关键在于一个 "位" 上. PS: 定位是我们 ...

  4. kongdashboard

    apiVersion: v1kind: Servicemetadata:  name: kong-dashboard  namespace: kongspec:  type: NodePort  po ...

  5. C#上传数据到HTTP,HTTPS 代码示例

    string param = string.Format("username={0}&password={1}", account, pwd); string result ...

  6. WLC-生成CSR操作

    1.生成CSR [req]req_extensions = v3_req[ v3_req ]# Extensions to add to a certificate requestbasicConst ...

  7. Java面向对象编程 -3

    this关键字 this可以算是Java里面比较复杂的关键字,因为this的使用形式约定了它的灵活性,在程序里面,使用this可以实现以下三类结构的描述: 当前类中的属性:this属性; 当前类中的方 ...

  8. 为typecho添加分类描述

    typecho 默认主题不显示分类描述,可以调整为显示 按找官方文档(点击查看),获取分类描述的代码为: <?php echo $this->getDescription(); ?> ...

  9. selected中第一项 请选择,隐藏

    如何做到selected 类似input的提示语  placeholder效果. <select class="wyj_dbfs"> <option style= ...

  10. Lesson 16 The modern city

    What is the author's main argument about the modern city? In the organization of industrial life the ...