原生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 限制输入和粘贴(IE,firefox测试通过)
Nov 14 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
Sep 09 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
Mar 26 Javascript
jquery无限级联下拉菜单简单实例演示
Nov 23 Javascript
果断收藏9个Javascript代码高亮脚本
Jan 06 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
Nov 04 Javascript
微信小程序 下拉菜单简单实例
Apr 13 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
Jun 19 Javascript
详解Angular模板引用变量及其作用域
Nov 23 Javascript
详解vue几种主动刷新的方法总结
Feb 19 Javascript
微信小程序 云开发模糊查询实现解析
Sep 02 Javascript
原生JS实现微信通讯录
Jun 18 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的类 功能齐全的发送邮件类
2006/10/09 PHP
PHP 事件机制(2)
2011/03/23 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
关于PHP转换超过2038年日期出错的问题解决
2017/06/28 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
用js得到网页中所有的div的id
2020/10/19 Javascript
jQuery 位置插件
2008/12/25 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
js性能优化技巧
2015/11/29 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
vue  elementUI 表单嵌套验证的实例代码
2019/11/06 Javascript
JS常见错误(Error)及处理方案详解
2020/07/02 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
python生成lmdb格式的文件实例
2018/11/08 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
python提取xml里面的链接源码详解
2019/10/15 Python
如何获取Python简单for循环索引
2019/11/21 Python
简单介绍django提供的加密算法
2019/12/18 Python
python openpyxl模块的使用详解
2021/02/25 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
三星印度官网:Samsung印度
2019/08/03 全球购物
《一个小村庄的故事》教学反思
2014/04/13 职场文书
志愿者宣传口号
2014/06/17 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
军训新闻稿范文
2015/07/17 职场文书