javaScript實作複製貼上功能的方法:1、透過「document.execCommand('copy')」方法;2、透過ClipboardJS來實現內容的複製。
本文操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
javaScript怎麼實作複製貼上功能?
js實作複製貼上的兩種方法
一、前言
介面需要複製功能,所以就寫了一個作為簡單記錄
二、方法、推薦第二種。
1、第一種方法
1)、透過document.execCommand('copy')
2)、前端程式碼如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>constructor-nodelist</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.css"/> </head> <body> <button onclick="copyText('copy_file')">点我复制</button> <a id="copy_file" href="复制内容" ></a> <script type="text/javascript" src="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.js"></script> <script> function copyText(str_file) { const btn = document.querySelector('.'+str_file); var copy_val = document.getElementById(str_file) var copy_file = copy_val.getAttribute("href"); btn.addEventListener('click',() => { const input = document.createElement('input'); document.body.appendChild(input); input.setAttribute('value', copy_file); input.select(); if (document.execCommand('copy')) { document.execCommand('copy'); swal("复制成功!","success"); } document.body.removeChild(input); }) } </script> </body>
3)、總結:主要是透過class和id 來複製a標籤中的href,把複製好的內容放到生成的input標籤中,然後複製結束把input標籤給remove,這個你複製內容自行發揮,和修改js。
4)、問題:第一次點擊不生效,需要點擊兩次,暫時不解決
2、第二種方法
1)、透過ClipboardJS 來實作內容的複製,推薦這個
2)、git位址:clipboardjs(https://clipboardjs.com/)
#3)、前端程式碼如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> <!-- 请自行去git项目下载 js--> <script src="./clipboard.min.js"></script> <link rel="stylesheet" href="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.css"/> <script type="text/javascript" src="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.js"></script> </head> <body> <button id="btn" data-clipboard-text="str_555" onclick="copyText()"> <span>Copy</span> </button> </body> </html> <script> function copyText() { var btn = document.getElementById('btn'); console.log(btn); var clipboard = new ClipboardJS(btn); <!-- var clipboard = new ClipboardJS(btn, {--> <!-- container: document.getElementById('btn')--> <!-- });--> 如果你的项目是 bootstrap框架,请使用这个 clipboard.on('success', function(e) { console.log(e); swal("复制成功!","success"); clipboard.destroy(); }); clipboard.on('error', function(e) { console.log(e); swal("复制失败","error"); clipboard.destroy(); }); } </script>
# 3)、總結:請一定要仔細閱讀文件。這個項目還是非常強大的,強烈推薦這個。
4)、問題:也是遇到了 第一次複製不生效的問題,暫時不解決了。
三、總結
1、都遇到了 第一次複製不生效的問題,後續解決把,都採用了 sweetalert 。
2、個人都只在 谷歌和火狐瀏覽器實驗了,都可以用,如果其他瀏覽器版本不能用,請自行查閱其他文章,歡迎溝通、指正。
推薦學習:《javascript基礎教學》
以上是javaScript怎麼實作複製貼上功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!