您好,登錄后才能下訂單哦!
小編給大家分享一下javaScript如何實(shí)現(xiàn)復(fù)制粘貼功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
javaScript實(shí)現(xiàn)復(fù)制粘貼功能的方法:1、通過“document.execCommand('copy')”方法;2、通過ClipboardJS來實(shí)現(xiàn)內(nèi)容的復(fù)制。
本文操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
js實(shí)現(xiàn)復(fù)制粘貼的兩種方法
一、前言
界面需要復(fù)制功能,所以就寫了一個(gè)作為簡單記錄
二、方法、推薦第二種。
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')">點(diǎn)我復(fù)制</button> <a id="copy_file" href="復(fù)制內(nèi)容" ></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("復(fù)制成功!","success"); } document.body.removeChild(input); }) } </script> </body>
3)、總結(jié):主要是通過 class和id 來復(fù)制 a標(biāo)簽中的 href,把復(fù)制好的內(nèi)容放到 生成的input標(biāo)簽中,然后復(fù)制結(jié)束把 input標(biāo)簽給remove,這個(gè)你復(fù)制內(nèi)容自行發(fā)揮,和修改 js。
4)、問題:第一次點(diǎn)擊不生效,需要點(diǎn)擊兩次,暫時(shí)不解決
2、第二種方法
1)、通過 ClipboardJS 來實(shí)現(xiàn) 內(nèi)容的復(fù)制,推薦這個(gè)
2)、git地址:clipboardjs(https://clipboardjs.com/)
3)、前端代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> <!-- 請自行去git項(xiàng)目下載 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')--> <!-- });--> 如果你的項(xiàng)目是 bootstrap框架,請使用這個(gè) clipboard.on('success', function(e) { console.log(e); swal("復(fù)制成功!","success"); clipboard.destroy(); }); clipboard.on('error', function(e) { console.log(e); swal("復(fù)制失敗","error"); clipboard.destroy(); }); } </script>
以上是“javaScript如何實(shí)現(xiàn)復(fù)制粘貼功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。