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 相关文章推荐
jQuery toggle()设置CSS样式
Nov 05 Javascript
IE6下JS动态设置图片src地址问题
Jan 08 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
Dec 25 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
Jan 08 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
Aug 24 jQuery
JavaScript基于面向对象实现的猜拳游戏
Jan 03 Javascript
React组件refs的使用详解
Feb 09 Javascript
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
React key值的作用和使用详解
Aug 23 Javascript
Vue瀑布流插件的使用示例
Sep 19 Javascript
bootstrap与pagehelper实现分页效果
Dec 29 Javascript
详解vue2.0模拟后台json数据
May 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
php split汉字
2009/06/05 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
2015/02/03 PHP
JavaScript中的property和attribute介绍
2011/12/26 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
js实现无缝滚动图
2017/02/22 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
Bootstrap table使用方法总结
2017/05/10 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
解决python中的幂函数、指数函数问题
2019/11/25 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
如何在Shell脚本中使用函数
2015/09/06 面试题
导游实习生自荐书
2014/01/28 职场文书
数控技校生自我鉴定
2014/03/02 职场文书
捐款倡议书
2014/04/14 职场文书
公司节能减排倡议书
2014/05/14 职场文书
新品发布会策划方案
2014/06/08 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python