原生js实现点击按钮复制内容到剪切板


Posted in Javascript onNovember 19, 2020

本文实例为大家分享了js点击按钮复制内容到剪切板的具体代码,供大家参考,具体内容如下

效果图

原生js实现点击按钮复制内容到剪切板

上代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<style>
  .divBox {
    width: 500px;
    margin: 100px auto;
    display: flex;
  }

  .popupStyle {
    display: none;
    width: 160px;
    background-color: rgb(85, 85, 85);
    color: aqua;
    text-align: center;
    border-radius: 6px;
    padding: 8px 0;
    position: fixed;
    z-index: 1;
    top: 2%;
    left: 50%;
    margin-left: -80px;
  }
</style>
<body>
  <div class="divBox">
    <div id="div">这是要复制的div内容</div>
    <a href="#" onclick="handleDivCopy()">点击复制</a>
  </div>
  <div class="divBox">
    <textarea id="textarea">Hello,World</textarea>
    <a href="#" onclick="handleCopy()">点击复制</a>
  </div>
  <script>
    
    // 复制 div 内容
    function handleDivCopy() {
      const div = document.getElementById("div");
      const input = document.createElement("input");
      document.body.appendChild(input);
      input.value = div.innerText;
      input.select();
      
      try {
        if (document.execCommand("copy", false)) {
          handleDomMsg("div 内容复制成功");
        } else {
          handleDomMsg("div 内容复制失败");
        }
      } catch (error) {
        console.log(error, "error")
      } finally {
        input.remove();
      }
    };
    
    // 复制输入框内容
    function handleCopy() {
      const textarea = document.getElementById("textarea");
      textarea.select();
      try {
        if (document.execCommand("copy", false)) {
          handleDomMsg("输入框内容复制成功");
        } else {
          handleDomMsg("输入框内容复制失败");
        }
      } catch (error) {
        console.log(error, "error")
      }
    };


    // DOM 弹窗
    function handleDomMsg(message) {
      const div = document.createElement("div");
      document.body.appendChild(div);
      div.innerHTML = message || "this is a Message";
      div.className = "popupStyle";
      div.style.display = "block";

      setTimeout(() => {
        div.remove();
      }, 1000);
    }

  </script>
</body>
</html>

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

Javascript 相关文章推荐
js arguments.callee的应用代码
May 07 Javascript
php利用curl获取远程图片实现方法
Oct 26 Javascript
莱鸟介绍window.print()方法
Jan 06 Javascript
总结JavaScript设计模式编程中的享元模式使用
May 21 Javascript
vue之数据交互实例代码
Jun 20 Javascript
Chrome调试折腾记之JS断点调试技巧
Sep 11 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
Nov 09 Javascript
微信小程序自定义轮播图
Nov 04 Javascript
详解Vue中watch的详细用法
Nov 28 Javascript
Element输入框带历史查询记录的实现示例
Jan 15 Javascript
vue中使用props传值的方法
May 08 Javascript
Weex开发之地图篇的具体使用
Oct 16 Javascript
jQuery-App输入框实现实时搜索
Nov 19 #jQuery
elementUI同一页面展示多个Dialog的实现
Nov 19 #Javascript
微信小程序实现点击导航标签滚动定位到对应位置
Nov 19 #Javascript
深入了解Vue3模板编译原理
Nov 19 #Vue.js
微信小程序实现倒计时功能
Nov 19 #Javascript
微信小程序实现列表左右滑动
Nov 19 #Javascript
详解JavaScript 中的批处理和缓存
Nov 19 #Javascript
You might like
PHP 中的类
2006/10/09 PHP
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
php+mysql分页代码详解
2008/03/27 PHP
php json_encode奇怪问题说明
2011/09/27 PHP
php 生成短网址原理及代码
2014/01/23 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
2017/07/27 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
2017/08/30 Javascript
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
python去除扩展名的实例讲解
2018/04/23 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
python sorted方法和列表使用解析
2019/11/18 Python
python简单的三元一次方程求解实例
2020/04/02 Python
python 实现百度网盘非会员上传超过500个文件的方法
2021/01/07 Python
iRobot官网:改变生活的家用机器人品牌
2016/09/20 全球购物
选秀节目策划方案
2014/06/06 职场文书
大学生志愿者活动总结
2014/06/27 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
天下第一关导游词
2015/02/06 职场文书
违纪开除通知书
2015/04/25 职场文书
2015年统战工作总结
2015/05/19 职场文书
2015年初中教师个人工作总结
2015/07/21 职场文书
学校教学管理制度
2015/08/06 职场文书
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android