原生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 相关文章推荐
JQuery处理json与ajax返回JSON实例代码
Jan 03 Javascript
js或jquery实现页面打印可局部打印
Mar 27 Javascript
jQuery的观察者模式详解
Dec 22 Javascript
jQuery中:hidden选择器用法实例
Dec 30 Javascript
window.location.reload 刷新使用分析(去对话框)
Nov 11 Javascript
深入理解选择框脚本[推荐]
Dec 13 Javascript
JavaScript对象封装的简单实现方法(3种方法)
Jan 03 Javascript
boostrapTable的refresh和refreshOptions区别浅析
Jan 22 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
Jan 26 Javascript
详解如何webpack使用DllPlugin
Sep 30 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 jQuery
使用VScode 插件debugger for chrome 调试react源码的方法
Sep 13 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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
深入认识JavaScript中的函数
2007/01/22 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
2013/09/11 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
JavaScript中关于class的调用方法
2017/11/28 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
读写json中文ASCII乱码问题的解决方法
2016/11/05 Python
python机器学习之决策树分类详解
2017/12/20 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
python读文件的步骤
2019/10/08 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
公司员工的自我评价范例
2013/11/01 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
实用的简历自我评价
2014/03/06 职场文书
会计继续教育培训心得体会
2016/01/19 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
Python之matplotlib绘制折线图
2022/04/13 Python
Java使用HttpClient实现文件下载
2022/08/14 Java/Android