JS把字符串存入系统剪贴板

     最近项目需要,要实现复制黏贴功能,之前做好了只能实现自己页面的复制黏贴 (也不是真正的复制黏贴 是通过投机取巧的,就是复制的时候把数据存入数组,黏贴的时候再把数据取出来),没法实现把数据存入本地的剪贴板然后可以自己一个文档中实现粘贴,所以就找了一下资料,找到了主要的有四种方法:  zeroclipboard  、document.execCommand("Copy")、clipboard、setData(). 找了些资料发现  第一种需要使用flash的  第四种浏览器的兼容性差只能在IE中使用  第三种由于未知原因自己的项目中没法使用所以只有使用的 clipboard  使用起来很简单 先下载插件   后把  clipboard.min.js导入   html 页面如下:

1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<title>Insert title here</title> 6<script type="text/javascript" src="../../../lib/jquery/jquery.min.js"></script> 7<script type="text/javascript" src="https://my.oschina.net//u/3037878/blog/895962/clipboard.min.js"></script> 8function onclick111(){ 9 var clipboard = new Clipboard('.btn'); 10 clipboard.on('success', function(e) { 11 console.info('Action:', e.action); 12 console.info('Text:', e.text); 13 console.info('Trigger:', e.trigger); 14 15 e.clearSelection(); 16 }); 17 18 clipboard.on('error', function(e) { 19 console.error('Action:', e.action); 20 console.error('Trigger:', e.trigger); 21 }); 22 23 $(".btn").attr("data-clipboard-text","你要传的字符串"); 24 //$(".btn").click();(当由另一个点击事件触发的时候,实现让其自动点击) 25} 26</head> 27<body> 28 29<div style="display:none"> 30<button class="btn" data-clipboard-action="copy" data-clipboard-text="1" onclick="onclick111()"></button> 31</div> 32 33 34</body> 35</html>

还可以实现让一个元素的内容复制  

把data-clipboard-text 替换给data-clipboard-target

具体如下:

1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<title>Insert title here</title> 6<script type="text/javascript" src="../../../lib/jquery/jquery.min.js"></script> 7<script type="text/javascript" src="https://my.oschina.net//u/3037878/blog/895962/clipboard.min.js"></script> 8function onclick111(){ 9 var clipboard = new Clipboard('.btn'); 10 clipboard.on('success', function(e) { 11 console.info('Action:', e.action); 12 console.info('Text:', e.text); 13 console.info('Trigger:', e.trigger); 14 15 e.clearSelection(); 16 }); 17 18 clipboard.on('error', function(e) { 19 console.error('Action:', e.action); 20 console.error('Trigger:', e.trigger); 21 }); 22 23 $(".btn").attr("data-clipboard-text","你要传的字符串"); 24 //$(".btn").click();(当由另一个点击事件触发的时候,实现让其自动点击) 25} 26</head> 27<body> 28<textarea id="text">选择的内容</textarea> 29<div style="display:none"> 30<button class="btn" data-clipboard-action="copy" data-clipboard-target="#text" onclick="onclick111()"></button> 31</div> 32 33 34</body> 35</html>

需要隐藏的时候使用第一种方法  不需要隐藏的时候使用第二种

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )