原生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 相关文章推荐
javascript第一课
Feb 27 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
Mar 24 Javascript
求数组最大最小值方法适用于任何数组
Aug 16 Javascript
jQuery实现精美的多级下拉菜单特效
Mar 14 Javascript
分享9点个人认为比较重要的javascript 编程技巧
Apr 27 Javascript
JQuery复制DOM节点的方法
Jun 11 Javascript
简介JavaScript中Math.cos()余弦方法的使用
Jun 15 Javascript
举例讲解AngularJS中的模块
Jun 17 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
May 26 Javascript
JavaScript 点击触发复制功能实例详解
Nov 02 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
Jun 11 Javascript
Vue中keep-alive组件作用详解
Feb 04 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分页类代码
2013/04/02 PHP
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
2013/11/07 PHP
PHP中使用正则表达式提取中文实现笔记
2015/01/20 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
初学Javascript的一些总结
2008/11/03 Javascript
javascript实现的网页局布刷新效果
2008/12/01 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
JS自动生成动态HTML验证码页面
2017/06/14 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
python发送邮件脚本
2018/05/22 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
python+POP3实现批量下载邮件附件
2018/06/19 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
Python XML转Json之XML2Dict的使用方法
2019/01/15 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
详解Python3注释知识点
2019/02/19 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
python matplotlib 画dataframe的时间序列图实例
2019/11/20 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
Python如何急速下载第三方库详解
2020/11/02 Python
Shell脚本如何向终端输出信息
2014/04/25 面试题
监督检查工作方案
2014/05/28 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android