js实现复制粘贴的两种方法


Posted in Javascript onDecember 04, 2020

本文实例为大家分享了js实现复制粘贴的具体代码,供大家参考,具体内容如下

一、前沿

界面需要复制功能,所以就写了一个作为简单记录

二、方法、推荐第二种。

1、第一种方法

1)、通过 document.execCommand('copy')
2)、前端代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>constructor-nodelist</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.css"/>

</head>
<body>
<button class="copy_file" onclick="copyText('copy_file')">点我复制</button>
<a id="copy_file" href="复制内容" ></a>
<script type="text/javascript" src="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.js"></script>
<script>
function copyText(str_file) {
 const btn = document.querySelector('.'+str_file);
 var copy_val = document.getElementById(str_file)
 var copy_file = copy_val.getAttribute("href");
 btn.addEventListener('click',() => {
  const input = document.createElement('input');
  document.body.appendChild(input);
  input.setAttribute('value', copy_file);
  input.select();
  if (document.execCommand('copy')) {
   document.execCommand('copy');
   swal("复制成功!","success");
  }
  document.body.removeChild(input);
 })
}

</script>
</body>

3)、总结:主要是通过 class和id 来复制 a标签中的 href,把复制好的内容放到 生成的input标签中,然后复制结束把 input标签给remove,这个你复制内容自行发挥,和修改 js。
4)、问题:第一次点击不生效,需要点击两次,暂时不解决

2、第二种方法

1)、通过 ClipboardJS 来实现 内容的复制,推荐这个
2)、git地址:clipboardjs
3)、前端代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <!-- 请自行去git项目下载 js-->
 <script src="./clipboard.min.js"></script>
 <link rel="stylesheet" href="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.css"/>
 <script type="text/javascript" src="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.js"></script>
</head>
<body>

<button id="btn" data-clipboard-text="str_555" onclick="copyText()">
 <span>Copy</span>
</button>
</body>
</html>

<script>
function copyText() {
 var btn = document.getElementById('btn');
 console.log(btn);
  var clipboard = new ClipboardJS(btn);
<!--  var clipboard = new ClipboardJS(btn, {-->
<!--   container: document.getElementById('btn')-->
<!--  });--> 如果你的项目是 bootstrap框架,请使用这个
  clipboard.on('success', function(e) {
   console.log(e);
   swal("复制成功!","success");
   clipboard.destroy();
  });

  clipboard.on('error', function(e) {
   console.log(e);
   swal("复制失败","error");
   clipboard.destroy();
  });
}
</script>

3)、总结:请一定要仔细阅读 文档。这个项目还是非常强大的,强烈推荐这个。

4)、问题:也是遇到了 第一次复制不生效的问题,暂时不解决了。

三、总结

1、都遇到了 第一次复制不生效的问题,后续解决把,都采用了 sweetalert 。
2、个人都只在 谷歌和火狐浏览器实验了,都可以用,如果其他浏览器版本不能用,请自行查阅其他文章,欢迎沟通、指正。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
prototype 中文参数乱码解决方案
Nov 09 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
Mar 28 Javascript
js 利用className得到对象的实现代码
Nov 15 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
Jan 07 Javascript
jQuery div拖拽用法实例
Jan 14 Javascript
Node.js的Web模板引擎ejs的入门使用教程
Jun 06 Javascript
JS中的作用域链
Mar 01 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
Apr 28 Javascript
深入理解Vue.js源码之事件机制
Sep 27 Javascript
vue2.0使用swiper组件实现轮播效果
Nov 27 Javascript
微信小程序如何获取地址
Dec 24 Javascript
JS轻量级函数式编程实现XDM三
Jun 16 Javascript
echarts浮动显示单位的实现方法示例
Dec 04 #Javascript
JavaScript中条件语句的优化技巧总结
Dec 04 #Javascript
三剑客:offset、client和scroll还傻傻分不清?
Dec 04 #Javascript
简单谈谈offsetleft、offsetTop和offsetParent
Dec 04 #Javascript
HTML元素拖拽功能实现的完整实例
Dec 04 #Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
Dec 04 #Vue.js
vue基于Echarts的拖拽数据可视化功能实现
Dec 04 #Vue.js
You might like
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
php获取数组长度的方法(有实例)
2013/10/27 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
JQuery动态给table添加、删除行 改进版
2011/01/19 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
JS中使用 after 伪类清除浮动实例
2017/03/01 Javascript
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
Bootstrap Table 删除和批量删除
2017/09/22 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
跟老齐学Python之一个免费的实验室
2014/09/14 Python
python字符串替换的2种方法
2014/11/30 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
python重要函数eval多种用法解析
2020/01/14 Python
Python通过文本和图片生成词云图
2020/05/21 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
台湾专柜女包:KINAZ
2019/12/26 全球购物
工会主席事迹材料
2014/06/03 职场文书
演讲比赛策划方案
2014/06/11 职场文书
企业宣传语大全
2015/07/13 职场文书