原生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 相关文章推荐
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
Oct 11 Javascript
正负小数点后两位浮点数实现原理及代码
Sep 06 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
Mar 08 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
Jul 27 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
Jun 26 jQuery
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
Nov 10 Javascript
微信小程序下拉框功能的实例代码
Nov 06 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
Dec 02 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
Feb 06 Javascript
js实现菜单跳转效果
Dec 11 Javascript
一起来了解一下JavaScript的预编译(小结)
Mar 01 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
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
ext form 表单提交数据的方法小结
2008/08/08 Javascript
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
js setTimeout 常见问题小结
2013/08/13 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
python中time.ctime()实例用法
2021/02/03 Python
CSS3中各种颜色属性的使用教程
2016/05/17 HTML / CSS
作为网站管理者应当如何防范XSS
2014/08/16 面试题
装潢设计专业推荐信模板
2013/11/26 职场文书
童装店创业计划书
2014/01/09 职场文书
秘书英文求职信范文
2014/01/31 职场文书
《蚕姑娘》教学反思
2014/04/15 职场文书
合同协议书格式
2014/04/18 职场文书
小学生迎国庆演讲稿
2014/09/05 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
80行代码写一个Webpack插件并发布到npm
2021/05/24 Javascript
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL