原生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 add event remove event
Apr 07 Javascript
JavaScript中去掉数组中的重复值的实现方法
Aug 03 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
Sep 26 Javascript
jQuery操作Select的Option上下移动及移除添加等等
Nov 18 Javascript
JQuery解析HTML、JSON和XML实例详解
Mar 29 Javascript
JS判断移动端访问设备并加载对应CSS样式
Jun 13 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
Jan 04 Javascript
JavaScript每天必学之数组和对象部分
Sep 17 Javascript
js实现自定义进度条效果
Mar 15 Javascript
分析javascript原型及原型链
Mar 18 Javascript
Vue.js的模板语法详解
Feb 16 Javascript
JavaScript交换变量的常用方法小结【4种方法】
May 07 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
第三节 定义一个类 [3]
2006/10/09 PHP
去除php注释和去除空格函数分享
2014/03/13 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
JS实现炫酷轮播图
2020/11/15 Javascript
解决vue-cli输入命令vue ui没效果的问题
2020/11/17 Javascript
[02:24]DOTA2痛苦女王 英雄基础教程
2013/11/26 DOTA
简介Django框架中可使用的各类缓存
2015/07/23 Python
TensorFlow实现RNN循环神经网络
2018/02/28 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
Python类及获取对象属性方法解析
2020/06/15 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
python之随机数函数的实现示例
2020/12/30 Python
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
英国在线泳装店:Simply Swim
2019/05/05 全球购物
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
建筑毕业生自我鉴定
2013/10/18 职场文书
特色冷饮店创业计划书
2014/01/28 职场文书
导购员的岗位职责
2014/02/08 职场文书
艺术学院毕业生自我评价
2014/03/02 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
英文升职感谢信
2015/01/23 职场文书
死者家属慰问信
2015/03/24 职场文书