1. 程式人生 > >使用clipboard.js實現js複製黏貼的功能

使用clipboard.js實現js複製黏貼的功能

最近在做專案的時候需要實現複製黏貼的功能,但是js自己提供的各種方法存在相容性問題,最後決定使用外掛來實現,找了很多外掛,發現了了一款比較好用的,分享給大家

js包下載地址:

jsDelivr
< script  src = “ https://cdn.jsdelivr.net/npm/[email protected]/dist/clipboard.min.js ” > </ script >
cdnjs
< script  src = “ https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js ” > </ script >
RawGit
< script  src = “ https://cdn.rawgit.com/zenorocha/clipboard.js/v2.0.0/dist/clipboard.min.js ” > </ script >
unpkg
< script  src = “ https://unpkg.com/
[email protected]
/dist/clipboard.min.js ” > </ script >

嫌麻煩的看這裡:

1.引入clipboard.min.js檔案 2.定義一個button按鈕,注意按鈕的屬性:data-clipboard-action="copy" 表示是複製行為,data-clipboard-text=‘XXX’,XXX表示你要複製的內容 3.書寫js,建立clipboard物件以及複製後執行的方法

演示程式碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>target-div</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>
</head>
<body>
	<button class="btn" data-clipboard-text="Just because you can doesn't mean you should — clipboard.js">
    Copy to clipboard
</button>
<button class="btn" data-clipboard-text="ean you should — clipboard.js">
    Copy to clipboard2
</button>
   
    <script>

        var clipboard = new ClipboardJS('.btn');
        clipboard.on('success', function(e) {
            console.info('Action:', e.action);
            console.info('Text:', e.text);
            console.info('Trigger:', e.trigger);
            alert('複製成功,您複製的連結為'+e.text);
            e.clearSelection();
        });

       clipboard.on('error', function(e) {
            console.error('Action:', e.action);
            console.error('Trigger:', e.trigger);
            alert('複製失敗')
        });
		
    </script>
</body>
</html>