js實(shí)現(xiàn)復(fù)制粘貼的兩種方法
本文實(shí)例為大家分享了js實(shí)現(xiàn)復(fù)制粘貼的具體代碼,供大家參考,具體內(nèi)容如下
一、前沿
界面需要復(fù)制功能,所以就寫了一個(gè)作為簡單記錄
二、方法、推薦第二種。
1、第一種方法
1)、通過 document.execCommand('copy')
2)、前端代碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>constructor-nodelist</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" /> </head> <body> <button class="copy_file" 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
3)、前端代碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!-- 請自行去git項(xiàng)目下載 js--> <script src="./clipboard.min.js"></script> <link rel="stylesheet" /> <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>
3)、總結(jié):請一定要仔細(xì)閱讀 文檔。這個(gè)項(xiàng)目還是非常強(qiáng)大的,強(qiáng)烈推薦這個(gè)。
4)、問題:也是遇到了 第一次復(fù)制不生效的問題,暫時(shí)不解決了。
三、總結(jié)
1、都遇到了 第一次復(fù)制不生效的問題,后續(xù)解決把,都采用了 sweetalert 。
2、個(gè)人都只在 谷歌和火狐瀏覽器實(shí)驗(yàn)了,都可以用,如果其他瀏覽器版本不能用,請自行查閱其他文章,歡迎溝通、指正。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript實(shí)現(xiàn)一鍵復(fù)制文本功能的示例代碼
- Web js實(shí)現(xiàn)復(fù)制文本到粘貼板
- 使用js實(shí)現(xiàn)復(fù)制功能
- 使用?JS?復(fù)制頁面內(nèi)容的三種方案
- JavaScript實(shí)現(xiàn)一鍵復(fù)制內(nèi)容剪貼板
- js復(fù)制文本到粘貼板(Clipboard.writeText())
- JS實(shí)現(xiàn)一鍵復(fù)制
- Vue中使用highlight.js實(shí)現(xiàn)代碼高亮顯示以及點(diǎn)擊復(fù)制
- JavaScript+Html5實(shí)現(xiàn)按鈕復(fù)制文字到剪切板功能(手機(jī)網(wǎng)頁兼容)
- JS實(shí)現(xiàn)復(fù)制內(nèi)容到剪貼板功能兼容所有瀏覽器(推薦)
- js實(shí)現(xiàn)點(diǎn)擊復(fù)制當(dāng)前文本到剪貼板功能(兼容所有瀏覽器)
- 簡單實(shí)現(xiàn)兼容各大瀏覽器的js復(fù)制內(nèi)容到剪切板
- JavaScript 實(shí)現(xiàn)完美兼容多瀏覽器的復(fù)制功能代碼
- 兼容主流瀏覽器的JS復(fù)制內(nèi)容到剪貼板
- js實(shí)現(xiàn)的復(fù)制兼容chrome和IE
- 兼容所有瀏覽器的js復(fù)制插件Zero使用介紹
- 用js將內(nèi)容復(fù)制到剪貼板兼容瀏覽器
- js復(fù)制網(wǎng)頁內(nèi)容并兼容各主流瀏覽器的代碼
- JS復(fù)制內(nèi)容到剪切板的實(shí)例代碼(兼容IE與火狐)
- JS/FLASH實(shí)現(xiàn)復(fù)制代碼到剪貼板(兼容所有瀏覽器)
- 多瀏覽器兼容性比較好的復(fù)制到剪貼板的js代碼
- GWT中復(fù)制到剪貼板 js+flash實(shí)現(xiàn)復(fù)制 兼容性比較好
- 兼容IE與Firefox的js 復(fù)制代碼
- JavaScript 復(fù)制功能代碼 兼容多瀏覽器
- 至2023年最好用的兼容多瀏覽器的原生js復(fù)制函數(shù)copyText
相關(guān)文章
一文帶你玩轉(zhuǎn)JavaScript的箭頭函數(shù)
在ES6中新增了函數(shù)的簡寫方式----箭頭函數(shù),箭頭函數(shù)的出現(xiàn)不僅簡化了大量代碼,也讓代碼看起來更加優(yōu)雅,同時(shí)也解決了this指向問題,下面我們就來詳細(xì)講解如何玩轉(zhuǎn)箭頭函數(shù)2022-09-09javascript新建標(biāo)簽,判斷鍵盤輸入,以及判斷焦點(diǎn)(示例代碼)
這篇文章主要介紹了javascript新建標(biāo)簽,判斷鍵盤輸入,以及判斷焦點(diǎn)(示例代碼)。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11JS如何設(shè)置滾動屬性默認(rèn)自動滾動到底部(overflow:scroll;)
這篇文章主要給大家介紹了關(guān)于JS如何設(shè)置滾動屬性默認(rèn)自動滾動到底部(overflow:scroll;)的相關(guān)資料,通過本文介紹的的JavaScript代碼示例,你可以實(shí)現(xiàn)滾動條默認(rèn)在最底部的效果,需要的朋友可以參考下2023-10-10js獲取URL的參數(shù)的方法(getQueryString)示例
getQueryString方法默認(rèn)返回的是 string如果是int類型,則JS使用的時(shí)候,要進(jìn)行轉(zhuǎn)換一下,下面有個(gè)不錯(cuò)的示例,大家可以參考下2013-09-09JS 60秒后重新發(fā)送驗(yàn)證碼的實(shí)例講解
下面小編就為大家?guī)硪黄狫S 60秒后重新發(fā)送驗(yàn)證碼的實(shí)例講解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07