一個簡單例子:
<html> <body> <button id="copy-button" data-clipboard-text="Copy Me!" title="Click to copy me.">Copy to Clipboard</button> <script src="~/Scripts/jquery-1.7.1.js"></script> <script src="~/Scripts/ZeroClipboard.js"></script> </body> <script> var client = new ZeroClipboard( $("#copy-button") ); client.on('ready', function (event) { client.on('copy', function (event) { event.clipboardData.setData('text/plain', event.target.innerHTML); alert("復制成功"); }); client.on('aftercopy', function (event) { //復制之後的操作,如果不是自動在本頁面粘貼,請把此事件備注掉 console.log('Copied text to clipboard: ' + event.data['text/plain']); }); }); client.on('error', function (event) { //出錯的時候該干嘛 // console.log( 'ZeroClipboard error of type "' + event.name + '": ' + event.message ); ZeroClipboard.destroy(); }); </script> </html>
2.2版本需要引用jquery,要習慣把js代碼寫到頁面底部,經測試,發現此代碼不支持IE10/11,以下提供兼容IE的function,替換js部分即可
<script> $(function() { var text="取文本"; var msg="復制成功"; clipboard("btn_copy",text,msg); }); //參數說明 //button:按鈕id //text:要復制的文本 //msg:復制成功提示文本 function clipboard(button,text,msg) { if (window.clipboardData) { //for ie var copyBtn = document.getElementById(button); copyBtn.onclick = function () { window.clipboardData.setData('text', text); alert(msg); } } else { var client = new ZeroClipboard($("#" + button)); client.on('ready', function (event) { client.on('copy', function (event) { event.clipboardData.setData("text/plain", text); alert(msg); }); }); client.on('error', function (event) { ZeroClipboard.destroy(); }); } return false; } </script>
最後,需要注意的是不要在本地調度,你會發現不會生效,因為Flash的安全限制
zeroclipboard源碼:https://github.com/zeroclipboard/zeroclipboard
zeroclipboard官網:zeroclipboard.org