当前位置: 首页 > 编程笔记 >

原生js实现点击按钮复制内容到剪切板

辛弘壮
2023-03-14
本文向大家介绍原生js实现点击按钮复制内容到剪切板,包括了原生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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍js实现点击按钮复制文本功能,包括了js实现点击按钮复制文本功能的使用技巧和注意事项,需要的朋友参考一下 最近遇到一个需求,需要点击按钮,复制 <p> 标签中的文本到剪切板 之前做过复制输入框的内容,原以为差不多,结果发现根本行不通 尝试了各种办法,最后使了个障眼法,实现了下面的效果 一、原理分析 浏览器提供了 copy 命令 ,可以复制选中的内容 如果是输入框,可以通过 selec

  • 如何将div中的文本复制到剪贴板?我有一个div,需要添加一个链接,将文本添加到剪贴板。有解决办法吗? 单击“复制文本”后,然后按CtrlV,必须粘贴该文本。

  • 本文向大家介绍JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容),包括了JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)的使用技巧和注意事项,需要的朋友参考一下 新学习JavaScript,就碰到这么一个需求,几乎网上的方法都试过了。写出了总结下 使用的方法:clipboard 插件下载地址:https://github.com/zenoroc

  • 问题内容: 如何将div中的文本复制到剪贴板?我有一个div,需要添加一个链接,该链接会将文本添加到剪贴板。有解决方案吗? 单击复制文本后,然后按+ ,必须将其粘贴。 问题答案: 编辑 自2016年起,您现在可以在大多数浏览器中将文本复制到剪贴板,因为大多数浏览器都可以通过编程方式将选择的文本复制到剪贴板,从而可以将所选内容关闭。 与浏览器中的某些其他操作(如打开新窗口)一样,只能通过特定的用户操

  • 如何将div中的文本复制到剪贴板?我有一个div和需要添加一个链接,这将添加文本到剪贴板。对此有解决方案吗? 单击“复制文本”后,按下Ctrl+V,必须将其粘贴。

  • 本文向大家介绍JS基于clipBoard.js插件实现剪切、复制、粘贴,包括了JS基于clipBoard.js插件实现剪切、复制、粘贴的使用技巧和注意事项,需要的朋友参考一下 摘要: 最近做了一个项目,其中有这样一需求:实现一个点击按钮复制链接的功能,通过网上找相关资料,找到了几个插件,ZeroClipboard是通过flash实现的复制功能,随着越来越多的提议废除flash,于是就想能不能通过j