原生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 相关文章推荐
让iframe子窗体取父窗体地址栏参数(querystring)
Oct 13 Javascript
按下回车键指向下一个位置的一个函数代码
Mar 10 Javascript
js判断浏览器版本以及浏览器内核的方法
Jan 20 Javascript
javascript检测flash插件是否被禁用的方法
Jan 14 Javascript
JS给Array添加是否包含字符串的简单方法
Oct 29 Javascript
详解js中==与===的区别
Jan 08 Javascript
使用bat打开多个cmd窗口执行gulp、node
Feb 17 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
Nov 02 Javascript
JavaScript模板引擎原理与用法详解
Dec 24 Javascript
微信小程序 如何保持登录状态
Aug 16 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
Oct 24 Javascript
详解Java中String JSONObject JSONArray List转换
Nov 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
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
2015/07/27 Javascript
JavaScript 正则表达式中global模式的特性
2016/02/25 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
JavaScript数据结构之二叉树的遍历算法示例
2017/04/13 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
关于NodeJS中的循环引用详解
2019/07/23 NodeJs
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
KnockoutJS数组比较算法实例详解
2019/11/25 Javascript
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
Python新手学习标准库模块命名
2020/05/29 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
世界上最全面的汽车零部件和配件集合:JC Whitney
2016/09/04 全球购物
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
链表面试题-一个链表的结点结构
2015/05/04 面试题
描述内存分配方式以及它们的区别
2016/10/15 面试题
大专毕业生自我鉴定
2013/11/21 职场文书
大班亲子运动会方案
2014/06/10 职场文书
保卫工作个人总结
2015/03/03 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python
Pytest中skip和skipif的具体使用方法
2021/06/30 Python
Android Canvas绘制文字横纵向对齐
2022/06/05 Java/Android