移動端複製按鈕(點擊複製,clipboard.js)

一句話介紹下clipboard.js:實現了純 JavaScript (無 Flash)的瀏覽器內容複製到系統剪貼板的功能。

我們可以通過以下方式獲取到clipboard.js:

1、可以使用cdn

    <script src="https://cdn.jsdelivr.net/clipboard.js/1.5.12/clipboard.min.js"></script>    

2、也可以下載後引入(如果文件過期可以在評論通知我)
鏈接:https://share.weiyun.com/95dc49ba3ee0a9c26fe04e1a160b8e41 (密碼:DE6x8U)

3、當然可以去官網下載
官網

接着我們可以寫一個使用的demo:

<!DOCTYPE html>    
<html lang="en">    
<head>    
    <meta charset="UTF-8">    
    <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>   
    <script src="https://cdn.jsdelivr.net/clipboard.js/1.5.12/clipboard.min.js"></script>    
    <script src="clipboard.js"></script>    
    <title>複製按鈕</title>    
</head>    
<body>    
<span id="target">我是一段優美的文字</span>
<button class="btn" data-clipboard-action="copy" data-clipboard-target="#target" id="copy_btn">    
    複製按鈕    
</button>    
    
</body>    
<script>    
    $(document).ready(function(){       
        var clipboard = new Clipboard('#copy_btn');    
        clipboard.on('success', function(e) {    
            alert("複製成功",1500);    
            e.clearSelection();    
            console.log(e.clearSelection);    
        });    
    });    
</script>    
</html>    

代碼並不複雜,data-clipboard-target綁定的是目標標籤,如果你只是複製一段固定的內容,也可以在觸發器元素裏添加data-clipboard-text屬性(demo中即button);data-clipboard-action屬性有兩個值,一個是copy複製一個是cut剪切,但是剪切只在<input>或<textarea>中生效,默認值是copy。除了複製用戶輸入的內容,固定內容,還可以用戶分享鏈接等..........

4、當然clipboard.js亦會存在一些兼容問題,下面是官網上的各瀏覽器支持情況

在網上看到了一些解決方案,比如二次封裝等...那時候自己是用了一個比較偷懶的方式....想起來真是臉紅
            clipboard.on('success', function(e) {
                e.clearSelection();
                alert("複製成功!");
            });
            clipboard.on('error', function(e) {
                alert("當前瀏覽器不支持此功能,請手動複製。")
            });
這是clipboard自帶成功與失敗的回調函數。

PS:Clipboard.isSupported()可以用來查看瀏覽器是否支持。
PS2:以上爲基本用法,需深入瞭解的同學跳轉官網

發佈了37 篇原創文章 · 獲贊 10 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章