使用document.ExecCommand("copy")命令,官方文檔,點我。
例如:
<!DOCTYPE html> <html> <head> <script type="text/javascript"> function copyLink(){ var e = document.getElementById("copy"); e.select(); // 選擇對象 document.execCommand("Copy"); // 執行瀏覽器復制命令 alert("內容復制成功!"); } </script> </head> <body> <textarea id="copy">待復制的內容</textarea> <input type="button" onclick="copyLink()" value="點擊復制"></input> </body> </html>
在復制中,使用最多的就是clipboard.min.js插件了,點我查看下載地址,點我查看官方文檔
<body> <p>通過text參數來進行復制操作</p> <button class="btn">復制</button> </body> <script src="js/version/clipboard.min.js"></script> <script> var clipboard = new Clipboard('.btn', { text: function() { return '這里是text參數返回的內容 - Hello yubai8'; } }); clipboard.on('success', function(e) { alert("文字已復制到剪貼板中"); console.log(e); }); clipboard.on('error', function(e) { alert("異常錯誤: " + JSON.stringify(e.message)); console.log(e); }); </script>
也可以像下面這樣:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> </head> <body> <div>歡迎光臨 yubai9</div> <button class="btn" data-clipboard-action="copy" data-clipboard-target="div">Copy</button> <script src="js/version/clipboard.min.js"></script> <script> var clipboard = new Clipboard('.btn'); clipboard.on('success', function(e) { alert("文字已復制到剪貼板中"); console.log(e); }); clipboard.on('error', function(e) { alert("異常錯誤: " + JSON.stringify(e)); console.log(e); }); </script> </body> </html>
clipboard.min.js插件並不是兼容所有的瀏覽器。
如果不需要顯示定義textarea后再復制,可以這樣做。先創建一個textarea元素,然后進行復制,最后再把這個元素刪除掉。下面顯示了使用的過程:
var text="需要復制的內容"; var element = $("<textarea>" + text + "</textarea>"); $("body").append(element); element[0].select(); document.execCommand("Copy"); element.remove();
原文鏈接: