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 相关文章推荐
5 cool javascript apps
Mar 24 Javascript
JavaScript 给汉字排序实例代码
Jun 28 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
Jun 13 Javascript
json定义及jquery操作json的方法
Oct 03 Javascript
简单实现js无缝滚动效果
Feb 05 Javascript
详解Vue2.x-directive的学习笔记
Jul 17 Javascript
以BootStrap Tab为例写一个前端组件
Jul 25 Javascript
js 两数组去除重复数值的实例
Dec 06 Javascript
代码详解JS操作剪贴板
Feb 11 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
Aug 24 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
May 16 Javascript
vue filter 完美时间日期格式的代码
Aug 14 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
收音机指标测试方法及仪器
2021/03/01 无线电
利用static实现表格的颜色隔行显示
2006/10/09 PHP
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
使用php计算排列组合的方法
2013/11/13 PHP
PHP中iconv函数知识汇总
2015/07/02 PHP
php实现源代码加密的方法
2015/07/11 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
php自定义时间转换函数示例
2016/12/07 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
javascript new 需不需要继续使用
2009/07/02 Javascript
默认让页面的第一个控件选中的javascript代码
2009/12/26 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
使用AngularJS实现表单向导的方法
2015/06/19 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
详解Javascript中prototype属性(推荐)
2016/09/03 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
[00:43]魔廷新尊——痛苦女王至宝捆绑包
2020/06/12 DOTA
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
python中zip和unzip数据的方法
2015/05/27 Python
简单了解Django模板的使用
2017/12/20 Python
python实现中文文本分句的例子
2019/07/15 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
人事主管岗位职责范本
2013/12/04 职场文书
开办大学饮食联盟创业计划书
2014/01/29 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
尊师重教主题班会
2015/08/14 职场文书
Java 实战项目之家居购物商城系统详解流程
2021/11/11 Java/Android