本人没什么基础看了好久百度,不知道为什么在百度上问一个js实现copy功能会多出那么多代码出来,感觉废话一堆效果还没能达到需要复制 的效果。

然而在我看来,js复制代码 无非就那么几句罢了。原生copy代码:document.execCommand("Copy");  就可以达到复制的效果了,但我习惯用以下的方法:

首先,必须要调用第三方【clipboard.min.js】包,有它才能js代码才能实现复制功能,js包网上都可以下。这个如同jQuery一样调用:<script src="../js/clipboard.min.js"></script> 即可,这是第一句代码;

第二句代码 对对象进行操作的方式方法有两种可以选择:

(1)data-clipboard-action="copy";    复制

(2)data-clipboard-action="cut";     剪切

第三句代码 copy或cut 的对象是谁:

data-clipboard-target=".abc"      //这个对象可以是 #id,也可以类选择器  .class ,也可以是元素等等

第四句代码 实例化 Clipboard 对象:

var clipboard = new Clipboard(".abc");  到这里代码就已经实现了复制的功能了

-----------------------------------------------------------------------------------------------------------------------------------------

看看 案例代码:

(1)纯文本copy:textarea

<script type="text/javascript" src="../js/clipboard.min.js"></script>

<script type="text/javascript">

  function copyUrl2(){

    var Url2=document.getElementById("biao1");//获取文本框id

    Url2.select(); // 选择对象用户定义的代码区域

    document.execCommand("Copy"); //原生copy方法执行浏览器复制命令

    alert("内容复制成功,去粘贴看看!"); //弹窗

    //window.location.href = 'weixin://';  //打开手机微信

  }

</script>

<textarea cols="27" rows="5" id="biao1">这里面的文本内容被复制 </textarea>

<input type="button" onClick="copyUrl2()" value="点击复制Copy" />

-------------------------------------------------------------------------------------------------

(2)非纯文本内容的某个标签:span例举

<span id="btn" class="abc" data-clipboard-action="copy" data-clipboard-target=".abc">这里可以点击复制</span>

点击内容直接执行js代码:

<script type="text/javascript" src="../js/clipboard.min.js"></script>

<script type="text/javascript">

var clipboard = new Clipboard("#btn"); //实例化对象

//复制成功执行的回调

clipboard.on('success', function(e) {

  console.log(e); //返回值类型给控制台 没什么用 可以注释掉

  alert("复制成功,去粘贴看看吧!");

  //window.location.href = 'weixin://';  //打开手机微信

});

//复制失败执行的回调

clipboard.on('error', function(e) {

  alert("复制失败!请手动复制")

});

</script>

JS代码实现复制功能的更多相关文章

  1. Firebug调试js代码

    Firebug功能异常强大,不仅可以调试DOM,CSS,还可以调试JS代码,下面介绍一下调试JS. 1.认识console对象 console对象是Firebug内置的对象,该对象可以在代码中写入,可 ...

  2. 浏览器控制台js代码与后台不同步

    原因:浏览器会缓存js 如果是将js代码直接通过<script>标签插入jsp页面中则不存在这个问题 在加载页面的时候会重新加载js代码 如果直接将js代码以文件的形式引入,那么每次在修改 ...

  3. js封装的三级联动菜单(使用时只需要一行js代码)

    前言 在实际的项目开发中,我们经常需要三级联动,比如省市区的选择,商品的三级分类的选择等等. 而网上却找不到一个代码完整.功能强大.使用简单的三级联动菜单,大都只是简单的讲了一下实现思路. 下面就给大 ...

  4. 阻止pc端浏览器缩放js代码

    阻止pc端浏览器缩放js代码 众所周知:移动端页面禁止用户缩放界面只需加上<meta name="viewport" content="user-scalable= ...

  5. 还原网站上压缩的js代码

    还原网站上压缩的js代码 我们经常可以看到一些网站,把所需的javascript代码压缩成一行,就像下图这样 这种代码浏览器能读懂,但正常人是没法阅读的. 既然浏览器能读,浏览器当然也能还原这段代码. ...

  6. 我们为什么要看《超实用的Node.JS代码段》

    不知道自己Node.JS水平如何?看这张图 如果一半以上的你都不会,必须看这本书,一线工程师用代码和功能页面来告诉你每一个技巧点. 都会一点,但不知道如何检验自己,看看本书提供的面试题: 1.     ...

  7. 如何添加商*通新对话快捷链接?不用js代码

    我们在使用商务通一般都是在页面中嵌入一段js代码,如果您是js洁癖,是不是在想着如何直接用一张小图加上商*通新对话链接来代替呢?好,那就一起来研究一下吧. 首先,我们打开一个有商*通js弹窗的页面,比 ...

  8. JS代码判断IE6,IE7,IE8,IE9!

    JS代码判断IE6,IE7,IE8,IE9!2011年12月15日 星期四 14:01做网页有时候会用到JS检测IE的版本,下面是检测Microsoft Internet Explorer版本的三种代 ...

  9. Edge.js:让.NET和Node.js代码比翼齐飞

    通过Edge.js项目,你可以在一个进程中同时运行Node.js和.NET代码.在本文中,我将会论述这个项目背后的动机,并描述Edge.js提供的基本机制.随后将探讨一些Edge.js应用场景,它在这 ...

随机推荐

  1. generate eml file

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...

  2. 【Linux】简单明了查看内存使用和ubuntu的版本号及位数

    1.查看ubuntu的版本号:cat /etc/issue 2.查看系统是32位的还是64位:getconf LONG_BIT 3.查看内存使用 free free命令可以用来查看系统内存使用情况,- ...

  3. 零元学Expression Blend 4 - Chapter 23 Deep Zoom Composer与Deep Zoom功能

    原文:零元学Expression Blend 4 - Chapter 23 Deep Zoom Composer与Deep Zoom功能 最近有机会在工作上用到Deep Zoom这个功能,我就顺便介绍 ...

  4. 学在LINUX下编程(各种情况比较详细)

    (from http://www.712100.com/bbs/redirect.php?fid=160&tid=191752&goto=nextnewset)   预备知识 用gcc ...

  5. jquery-ui sortable 使用实例

    jquery-ui sortable 使用实例 最近公司需要做任务看板,需要拖拽效果.点击查看效果.由于网站是基于vue的技术栈,最开始找了一个现成的vue封装的拖拽组件:Vue.Draggable, ...

  6. delphi中的copy函数和pos函数

    1.copy(‘csdn’,1,2) 返回的结果是 cs 注释: Copy有3个参数,第一个是要处理的字符串,第二个是要截取的开始位置,第三个是截取位数 当第三个参数大于字符长度,那么效果就是取开始位 ...

  7. echarts 中国地图标注所在点

    达到的效果: 1.本身是个中国地图‘ 2.直接通过经纬度标注 3.标注点可以是其他样子(比如:五角星) 4.标注点具有提示框并且鼠标可以进入 5.提示框里的链接可点击(可以添加为链接事件): 所需要技 ...

  8. sentinel 核心概念

    编者注:前段时间笔者在团队内部分享了sentinel原理设计与实现,主要讲解了sentinel基础概念和工作原理,工作原理部分大家听了基本都了解了,但是对于sentinel的几个概念及其之间的关系还有 ...

  9. 16 input默认样式清除

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  10. Android开发需要了解的 IM 知识

    引言 即便在通讯如此发达的今天,IM 也依然是诸多场景下非常重要的基础能力.因此做为 一名 Android 开发,不可避免的会遇到一些IM 相关的需求或问题.本文以一个Android开发的角度来讲述I ...