一、目前来说复制功能 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. ASP.NET Core搭建多层网站架构【15-扩展之使用Obfuscar混淆加密保护代码】

    2020/02/03, ASP.NET Core 3.1, VS2019, Obfuscar 2.2.25 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构[15-扩展之使 ...

  2. 「HNOI2012」永无乡

    传送门 Luogu 解题思路 很容易想到平衡树,然后还可以顺便维护一下连通性,但是如何合并两棵平衡树? 我们采用一种类似于启发式合并的思想,将根节点siz较小的那颗平衡树暴力的合并到另一颗上去. 那么 ...

  3. 【Go语言系列】第三方框架和库——GIN:GIN介绍

    1.Gin 是什么? Gin 是一个用 Go (Golang) 编写的 HTTP web 框架. 它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高 ...

  4. python应用-pycharm新建模板默认添加shebang编码作者时间等信息

    1.pycharm4.5激活码 用户名: yueting3527 注册码: ===== LICENSE BEGIN ===== 93347-12042010 00001FMHemWIs"6w ...

  5. C# 动态类型 以及 脚本调用(scriptRunTime)

    在使用中让我感觉 好像 JavaScript中的 动态类型囧 先看动态类型 class Program { static void Main(string[] args) { var streamRe ...

  6. EAP认证

    EAP信息交换: 上图中展示的是OTP(一次性密码)实现EAP交换过程,具体的EAP交换过程如下: 步骤1:请求方向认证方发送EAPOL-Start消息,通知对方已经做到了认证准备(注意:若会话由认证 ...

  7. MSP430 CCS6.2无法启动仿真

    前几天在淘宝买了个msp430的仿真器 因为熟悉eclipse的开发环境,所以选择用ccs6.2进行开发 拿到手的时候,仿真器的固件是v2版本的 对新版本的iar和ccs都不支持 随后我使用Lite ...

  8. vue.js ②

    1.Vue实例的生命周期钩子 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运行 ...

  9. .hpp 文件

    .hpp 是 Header Plus Plus 的简写,是 C++程序头文件. 其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp ...

  10. python第一章 python基础编程

    第一次学习python 首先python对于我来说是我学习的第三门语言,之前大一学习过了c和c++这两门语言. 接触一个新语言,首先应该的是搭载一下编译的环境.我们是老师给我们上传了的python3安 ...