這篇文章主要講解了“怎么使用js實現復制文本到粘貼板”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么使用js實現復制文本到粘貼板”吧!

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>js復制內容到粘貼板</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]范圍內的隨機數-->
index = Math.floor(Math.random()*(y+1-x)+x);
<!--獲取字符串中的其中一個字符-->
randomCode += randomStr.charAt(index);
}
return randomCode;
}
<!--生成隨機碼并設置到input輸入框-->
function setRandomCode(elementID, len){
var randomCode = genRandomCode(len);
var element = document.getElementById(elementID);
element.setAttribute("value", randomCode);
}
<!--復制elementID的內容到粘貼板-->
function copyElementText2Clipboard(elementID) {
<!--根據id拿到元素對象-->
var element = document.getElementById(elementID);
if(element == null){
console.log("element is null, id:" + elementID);
return;
}
<!--獲取元素內容文本-->
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");<!--將當前選中的內容復制到粘貼板-->
if(isCopyOk){
alert("已復制");
}
}
else
{
<!--創建一個臨時的隱藏的input,并將它的value賦值為content,然后copy到粘貼板-->
const input = document.createElement("input");<!--創建input-->
input.setAttribute("readonly", "readonly");<!--設置為只讀-->
input.setAttribute("value", content);<!--設置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");<!--將當前選中的內容復制到粘貼板-->
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屬性設置為元素1的文本 elementDest.setAttribute("value", elementSrc.innerHTML);在國瓷設置后設置成功但是顯示不刷新-->
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='將括號內容填充到輸入框' value="設為默認地址" />
(<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='清空內容' value="清空" />
</body>
</html>感謝各位的閱讀,以上就是“怎么使用js實現復制文本到粘貼板”的內容了,經過本文的學習后,相信大家對怎么使用js實現復制文本到粘貼板這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。