原生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 相关文章推荐
提交表单时执行func方法实现代码
Mar 17 Javascript
jQuery 复合选择器应用的几个例子
Sep 11 Javascript
JS数组的常见用法实例
Feb 10 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
Jul 01 Javascript
js实现html table 行,列锁定的简单实例
Oct 13 Javascript
JavaScript获取当前时间向前推三个月的方法示例
Feb 04 Javascript
详解如何在Angular中快速定位DOM元素
May 17 Javascript
深入探究AngularJs之$scope对象(作用域)
Jul 20 Javascript
移动web开发之touch事件实例详解
Jan 17 Javascript
浅析Node.js非对称加密方法
Jan 29 Javascript
vue.js通过路由实现经典的三栏布局实例代码
Jul 08 Javascript
jQuery使用jsonp实现百度搜索的示例代码
Jul 08 jQuery
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/11/17 PHP
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
jQuery插件scroll实现无缝滚动效果
2015/04/27 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
jQuery分组选择器简单用法示例
2019/04/04 jQuery
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
Python flask框架post接口调用示例
2019/07/03 Python
通过实例解析python and和or使用方法
2020/11/14 Python
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
学生感冒英文请假条
2014/02/04 职场文书
行政部工作岗位职责范本
2014/03/05 职场文书
物理系毕业生自荐书
2014/06/13 职场文书
群众路线表态发言材料
2014/10/17 职场文书
公司辞职信模板
2015/05/13 职场文书
python中redis包操作数据库的教程
2022/04/19 Python
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技