點擊按鈕復制文本 – js筆記

    一個有趣的功能,但因為各大瀏覽器的原因,想做好還是有一定難度的,看下這款介紹,他是如何實現的

    這是一個有趣的功能,但因為各大瀏覽器的原因,想做好還是有一定難度的,看下這款介紹,他是如何實現的。

    效果如下:

    點擊按鈕復制文本 - js筆記
    功能演示

    我把你當兄弟你卻想著復制我?

    代碼如下:

    html

    <style type="text/css">
      .wrapper {position: relative;}
      #input {position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;}
    </style>
     
    <div class="wrapper">
      <p id="text">我把你當兄弟你卻想著復制我?</p>
      <textarea id="input">這是幕后黑手</textarea>
      <button onclick="copyText()">copy</button>
    </div>

    JS

    <script type="text/javascript">
      function copyText() {
       var text = document.getElementById("text").innerText;
       var input = document.getElementById("input");
       input.value = text; // 修改文本框的內容
       input.select(); // 選中文本
       document.execCommand("copy"); // 執行瀏覽器復制命令
       alert("復制成功");
      }
     </script>

    兼容

    • Firefox 48.0,Chrome 60.0,IE 8?

    原理:

    瀏覽器提供了 copy 命令 ,可以復制選中的內容

    document.execCommand("copy")

    如果是輸入框,可以通過?select()?方法,選中輸入框的文本,然后調用? copy 命令,將文本復制到剪切板

    但是 select() 方法只對 <input> 和 <textarea> 有效,對于 <p> 就不好使

    最后我的解決方案是,在頁面中添加一個 <textarea>,然后把它隱藏掉

    點擊按鈕的時候,先把 <textarea> 的 value 改為 <p> 的 innerText,然后復制 <textarea> 中的內容?

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優惠劵
    搜索
    主站蜘蛛池模板: 国产婷婷一区二区三区| 亚洲国产成人久久综合一区77| 精品无码av一区二区三区| 日韩亚洲一区二区三区| 福利片福利一区二区三区| 国产91精品一区二区麻豆网站| 日本一区二区三区精品国产| 少妇精品无码一区二区三区| 中文字幕精品亚洲无线码一区应用| 欧美激情国产精品视频一区二区| 久久99国产精一区二区三区| 色系一区二区三区四区五区| 亚洲色一区二区三区四区 | 亚洲一区二区三区在线观看蜜桃| 日韩精品一区二区三区不卡| 精品一区二区三区| 日韩一区二区a片免费观看| 精品一区二区三区无码免费视频| 本免费AV无码专区一区| 色狠狠一区二区三区香蕉蜜桃| 变态调教一区二区三区| 国产伦精品一区二区三区免.费| 99久久无码一区人妻a黑| 亚洲av无码一区二区三区观看 | 日韩精品一区二区三区影院| 成人精品一区二区电影| 狠狠做深爱婷婷久久综合一区| 亲子乱av一区区三区40岁| 亚洲av乱码一区二区三区香蕉| 日韩一区二区视频| 亚洲AV成人一区二区三区观看 | 久久99国产精品一区二区| 寂寞一区在线观看| 亚洲日本一区二区三区| 日韩人妻一区二区三区蜜桃视频| 精品永久久福利一区二区| 日本无卡码一区二区三区| 亚洲精品色播一区二区| 日韩福利视频一区| 中文字幕一区二区日产乱码| 日本不卡在线一区二区三区视频|