Web js實現(xiàn)復制文本到粘貼板
更新時間:2022年08月23日 10:52:48 作者:Genven_Liang
這篇文章主要為大家詳細介紹了Web js實現(xiàn)復制文本到粘貼板,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Web js實現(xiàn)復制文本到粘貼板的具體代碼,供大家參考,具體內(nèi)容如下
一、簡述
記--簡單用js實現(xiàn)將元素的文本內(nèi)容復制到粘貼板。
二、效果

三、代碼
<!DOCTYPE html>
<html>
? <head>
? ? <meta charset="utf-8" />
? ? <title>js復制內(nèi)容到粘貼板</title>
?? ?<script type="text/javascript">?? ?
?? ??? ?<!--隨機字符串-->
?? ??? ?var randomStr = "0123456789abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
?? ??? ?
?? ??? ?<!--生成隨機碼-->
?? ??? ?function genRandomCode(len){
?? ??? ??? ?
?? ??? ??? ?var randomCode = "";
?? ??? ??? ?var y = randomStr.length-1;
?? ??? ??? ?var x = 0;
?? ??? ??? ?
?? ??? ??? ?var i;
?? ??? ??? ?var index;
?? ??? ??? ?for(i=0; i<len; i++){
?? ??? ??? ??? ?<!--生成[x,y]范圍內(nèi)的隨機數(shù)-->
?? ??? ??? ??? ?index = Math.floor(Math.random()*(y+1-x)+x);
?? ??? ??? ??? ?
?? ??? ??? ??? ?<!--獲取字符串中的其中一個字符-->?? ??? ??? ??? ?
?? ??? ??? ??? ?randomCode += randomStr.charAt(index);
?? ??? ??? ?}
?? ??? ??? ?return randomCode;
?? ??? ?}
?? ??? ?
?? ??? ?<!--生成隨機碼并設(shè)置到input輸入框-->
?? ??? ?function setRandomCode(elementID, len){
?? ??? ??? ?var randomCode = genRandomCode(len);
?? ??? ??? ?var element = document.getElementById(elementID);
?? ??? ??? ?element.setAttribute("value", randomCode);
?? ??? ?}
?? ??? ?
?? ??? ?<!--復制elementID的內(nèi)容到粘貼板-->
?? ??? ?function copyElementText2Clipboard(elementID) {
?? ??? ??? ?<!--根據(jù)id拿到元素對象-->
?? ??? ??? ?var element = document.getElementById(elementID);
?? ??? ??? ?if(element == null){
?? ??? ??? ??? ?console.log("element is null, id:" + elementID);
?? ??? ??? ??? ?return;
?? ??? ??? ?}?? ??? ??? ?
?? ??? ??? ?
?? ??? ??? ?<!--獲取元素內(nèi)容文本-->
?? ??? ??? ?var content = element.innerHTML;
?? ??? ??? ?
?? ??? ??? ?<!--復制到粘貼板-->
?? ??? ??? ?if(element.tagName == "INPUT"){
?? ??? ??? ??? ?<!--如果是input就直接復制-->
?? ??? ??? ??? ?element.setSelectionRange(0, 64);<!--選擇input中的第0個字符到64個字符,也就是最多選中32個字符-->
?? ??? ??? ??? ?element.select();<!--選中input的value-->
?? ??? ??? ??? ?var isCopyOk = document.execCommand("copy");<!--將當前選中的內(nèi)容復制到粘貼板-->
?? ??? ??? ??? ?if(isCopyOk){
?? ??? ??? ??? ??? ?alert("已復制");
?? ??? ??? ??? ?}
?? ??? ??? ?}?? ??? ??? ?
?? ??? ??? ?else
?? ??? ??? ?{
?? ??? ??? ??? ?<!--創(chuàng)建一個臨時的隱藏的input,并將它的value賦值為content,然后copy到粘貼板-->
?? ??? ??? ??? ?const input = document.createElement("input");<!--創(chuàng)建input-->
?? ??? ??? ??? ?input.setAttribute("readonly", "readonly");<!--設(shè)置為只讀-->
?? ??? ??? ??? ?input.setAttribute("value", content);<!--設(shè)置input的value-->
?? ??? ??? ??? ?document.body.appendChild(input);<!--將input添加到body-->
?? ??? ??? ??? ?input.setSelectionRange(0, 64);<!--選擇input中的第0個字符到64個字符,也就是最多選中32個字符-->
?? ??? ??? ??? ?input.select();<!--選中input的value-->
?? ??? ??? ??? ?var isCopyOk = document.execCommand("copy");<!--將當前選中的內(nèi)容復制到粘貼板-->
?? ??? ??? ??? ?document.body.removeChild(input);<!--移除剛才臨時添加的input-->
?? ??? ??? ??? ?if(isCopyOk){
?? ??? ??? ??? ??? ?alert("已復制");
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ?}
?? ??? ?
?? ??? ?<!--復制eSrcID的文本到eDestID-->
?? ??? ?function copyElmText(eSrcID, eDestID) {
?? ??? ??? ?var elementSrc = document.getElementById(eSrcID);<!--獲取元素1對象-->
?? ??? ??? ?var elementDest = document.getElementById(eDestID);<!--獲取元素1對象-->
?? ??? ??? ?if(elementSrc == null){
?? ??? ??? ??? ?console.log("elementSrc:"+elementSrc+" is null.");
?? ??? ??? ??? ?return;
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?if(elementDest == null){
?? ??? ??? ??? ?console.log("elementDest:"+elementDest+" is null.");
?? ??? ??? ??? ?return;
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?<!--將元素2的value屬性設(shè)置為元素1的文本 elementDest.setAttribute("value", elementSrc.innerHTML);在國瓷設(shè)置后設(shè)置成功但是顯示不刷新-->?? ??? ??? ?
?? ??? ??? ?elementDest.value=elementSrc.innerHTML;
?? ??? ??? ?
?? ??? ?}
? ? </script>
? </head>
? <body>
?? ?<span>隨機碼</span>
?? ?<input type="text" id='RandomCode' name="RandomCode" value="" readonly="readonly" />
?? ?<input type='button' onclick='setRandomCode("RandomCode", "16")' title='生成隨機碼' value="生成隨機碼" />
?? ?<input type='button' onclick='copyElementText2Clipboard("RandomCode")' title='復制隨機碼到粘貼板' value="復制隨機碼" />
?? ?</br>
?? ?</br>
?? ?<span>地址</span>
?? ?<input type="text" id='Addr' name="text1" value="test">
?? ?<input type='button' onclick='copyElmText("defaultAddr", "Addr")' title='將括號內(nèi)容填充到輸入框' value="設(shè)為默認地址" />
?? ?(<span id="defaultAddr" title="" >xxx省xxx市xxx縣</span>)
?? ?<input type='button' onclick='copyElementText2Clipboard("defaultAddr")' title='復制到粘貼板' value="復制" />
?? ?</br>
?? ?</br>
?? ?<textarea id='textarea1' rows="20" cols="50">
?? ?</textarea>
?? ?<input type='button' onclick='javascript:document.getElementById("textarea1").value=""' title='清空內(nèi)容' value="清空" />
? </body>
</html>以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- JavaScript實現(xiàn)一鍵復制文本功能的示例代碼
- 使用js實現(xiàn)復制功能
- 使用?JS?復制頁面內(nèi)容的三種方案
- JavaScript實現(xiàn)一鍵復制內(nèi)容剪貼板
- js復制文本到粘貼板(Clipboard.writeText())
- JS實現(xiàn)一鍵復制
- Vue中使用highlight.js實現(xiàn)代碼高亮顯示以及點擊復制
- js實現(xiàn)復制粘貼的兩種方法
- JavaScript+Html5實現(xiàn)按鈕復制文字到剪切板功能(手機網(wǎng)頁兼容)
- JS實現(xiàn)復制內(nèi)容到剪貼板功能兼容所有瀏覽器(推薦)
- js實現(xiàn)點擊復制當前文本到剪貼板功能(兼容所有瀏覽器)
- 簡單實現(xiàn)兼容各大瀏覽器的js復制內(nèi)容到剪切板
- JavaScript 實現(xiàn)完美兼容多瀏覽器的復制功能代碼
- 兼容主流瀏覽器的JS復制內(nèi)容到剪貼板
- js實現(xiàn)的復制兼容chrome和IE
- 兼容所有瀏覽器的js復制插件Zero使用介紹
- 用js將內(nèi)容復制到剪貼板兼容瀏覽器
- js復制網(wǎng)頁內(nèi)容并兼容各主流瀏覽器的代碼
- JS復制內(nèi)容到剪切板的實例代碼(兼容IE與火狐)
- JS/FLASH實現(xiàn)復制代碼到剪貼板(兼容所有瀏覽器)
- 多瀏覽器兼容性比較好的復制到剪貼板的js代碼
- GWT中復制到剪貼板 js+flash實現(xiàn)復制 兼容性比較好
- 兼容IE與Firefox的js 復制代碼
- JavaScript 復制功能代碼 兼容多瀏覽器
- 至2023年最好用的兼容多瀏覽器的原生js復制函數(shù)copyText
相關(guān)文章
uni-app跨端自定義指令實現(xiàn)按鈕權(quán)限操作
實現(xiàn)uni-app自定義指令按鈕權(quán)限需要涉及到對于vue.config.js新增loader配置,基礎(chǔ)正則知識,webpack的loader開發(fā)和調(diào)試,以及npm本地調(diào)試和發(fā)布,接下來就從了解這些前置知識開始,需要的朋友可以參考下2023-01-01
layui之數(shù)據(jù)表格--與后臺交互獲取數(shù)據(jù)的方法
今天小編就為大家分享一篇layui之數(shù)據(jù)表格--與后臺交互獲取數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
純JavaScript實現(xiàn)實時反饋系統(tǒng)時間
這篇文章主要介紹了純JavaScript實現(xiàn)實時反饋系統(tǒng)時間的相關(guān)資料,需要的朋友可以參考下2017-10-10
使用layui 的layedit定義自己的toolbar方法
今天小編就為大家分享一篇使用layui 的layedit定義自己的toolbar方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09

