1. 程式人生 > 程式設計 >原生js實現點選按鈕複製內容到剪下板

原生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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。