JS代碼實現復制功能


本人沒什么基礎看了好久百度,不知道為什么在百度上問一個js實現copy功能會多出那么多代碼出來,感覺廢話一堆效果還沒能達到需要復制 的效果。

然而在我看來,js復制代碼 無非就那么幾句罷了。原生copy代碼:document.execCommand("Copy");  就可以達到復制的效果了,但我習慣用以下的方法:

首先,必須要調用第三方【clipboard.min.js】包,有它才能js代碼才能實現復制功能,js包網上都可以下。這個如同jQuery一樣調用:<script src="../js/clipboard.min.js"></script> 即可,這是第一句代碼;

第二句代碼 對對象進行操作的方式方法有兩種可以選擇:

(1)data-clipboard-action="copy";    復制

(2)data-clipboard-action="cut";     剪切

第三句代碼 copy或cut 的對象是誰:

data-clipboard-target=".abc"      //這個對象可以是 #id,也可以類選擇器  .class ,也可以是元素等等

第四句代碼 實例化 Clipboard 對象:

var clipboard = new Clipboard(".abc");  到這里代碼就已經實現了復制的功能了

-----------------------------------------------------------------------------------------------------------------------------------------

看看 案例代碼:

(1)純文本copy:textarea

<script type="text/javascript" src="../js/clipboard.min.js"></script>

<script type="text/javascript">

  function copyUrl2(){

    var Url2=document.getElementById("biao1");//獲取文本框id

    Url2.select(); // 選擇對象用戶定義的代碼區域

    document.execCommand("Copy"); //原生copy方法執行瀏覽器復制命令

    alert("內容復制成功,去粘貼看看!"); //彈窗

    //window.location.href = 'weixin://';  //打開手機微信

  }

</script>

<textarea cols="27" rows="5" id="biao1">這里面的文本內容被復制 </textarea>

<input type="button" onClick="copyUrl2()" value="點擊復制Copy" /> 

 

-------------------------------------------------------------------------------------------------

(2)非純文本內容的某個標簽:span例舉

<span id="btn" class="abc" data-clipboard-action="copy" data-clipboard-target=".abc">這里可以點擊復制</span>

點擊內容直接執行js代碼:

<script type="text/javascript" src="../js/clipboard.min.js"></script>

<script type="text/javascript">

var clipboard = new Clipboard("#btn"); //實例化對象

//復制成功執行的回調

clipboard.on('success', function(e) {

  console.log(e); //返回值類型給控制台 沒什么用 可以注釋掉

  alert("復制成功,去粘貼看看吧!");

  //window.location.href = 'weixin://';  //打開手機微信

});

//復制失敗執行的回調

clipboard.on('error', function(e) {

  alert("復制失敗!請手動復制")

});

</script>

 ---------------------------------------------------------------------

(3).我比較喜歡使用下面這種傳參的方式,

<samp id="target" style="font-size: 15pt;color: red;" >85687</samp>
<button id="biao2" data-clipboard-action="copy" data-clipboard-target="#target" onclick='copy("#biao2")'>這里可以點擊復制</button>

 

<script type="text/javascript" src="../js/clipboard.min.js"></script>

 

<script type="text/javascript">

function copy(id) {
  var clipboard = new Clipboard(id);
  clipboard.on('success', function(e){
    alert("復制成功,去粘貼試試吧!");
    //可執行其他代碼操作
  });
  clipboard.on('error', function(e){
    alert("復制失敗!請手動復制")
  });
}
</script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM