溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

javaScript如何實(shí)現(xiàn)復(fù)制粘貼功能

發(fā)布時(shí)間:2021-11-18 16:08:19 來源:億速云 閱讀:258 作者:小新 欄目:web開發(fā)

小編給大家分享一下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è)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI