首頁 > web前端 > js教程 > javaScript怎麼實作複製貼上功能

javaScript怎麼實作複製貼上功能

藏色散人
發布: 2021-11-18 15:51:41
原創
3213 人瀏覽過

javaScript實作複製貼上功能的方法:1、透過「document.execCommand('copy')」方法;2、透過ClipboardJS來實現內容的複製。

javaScript怎麼實作複製貼上功能

本文操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

javaScript怎麼實作複製貼上功能?

js實作複製貼上的兩種方法

一、前言

介面需要複製功能,所以就寫了一個作為簡單記錄

二、方法、推薦第二種。

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(&#39;copy_file&#39;)">点我复制</button>
<a id="copy_file" href="复制内容" ></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(&#39;.&#39;+str_file);
 var copy_val = document.getElementById(str_file)
 var copy_file = copy_val.getAttribute("href");
 btn.addEventListener(&#39;click&#39;,() => {
  const input = document.createElement(&#39;input&#39;);
  document.body.appendChild(input);
  input.setAttribute(&#39;value&#39;, copy_file);
  input.select();
  if (document.execCommand(&#39;copy&#39;)) {
   document.execCommand(&#39;copy&#39;);
   swal("复制成功!","success");
  }
  document.body.removeChild(input);
 })
}
 
</script>
</body>
登入後複製

3)、總結:主要是透過class和id 來複製a標籤中的href,把複製好的內容放到生成的input標籤中,然後複製結束把input標籤給remove,這個你複製內容自行發揮,和修改js。

4)、問題:第一次點擊不生效,需要點擊兩次,暫時不解決

2、第二種方法

1)、透過ClipboardJS 來實作內容的複製,推薦這個

2)、git位址:clipboardjs(https://clipboardjs.com/)

#3)、前端程式碼如下:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <!-- 请自行去git项目下载 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(&#39;btn&#39;);
 console.log(btn);
  var clipboard = new ClipboardJS(btn);
<!--  var clipboard = new ClipboardJS(btn, {-->
<!--   container: document.getElementById(&#39;btn&#39;)-->
<!--  });--> 如果你的项目是 bootstrap框架,请使用这个
  clipboard.on(&#39;success&#39;, function(e) {
   console.log(e);
   swal("复制成功!","success");
   clipboard.destroy();
  });
 
  clipboard.on(&#39;error&#39;, function(e) {
   console.log(e);
   swal("复制失败","error");
   clipboard.destroy();
  });
}
</script>
登入後複製

# 3)、總結:請一定要仔細閱讀文件。這個項目還是非常強大的,強烈推薦這個。

4)、問題:也是遇到了 第一次複製不生效的問題,暫時不解決了。

三、總結

1、都遇到了 第一次複製不生效的問題,後續解決把,都採用了 sweetalert 。

2、個人都只在 谷歌和火狐瀏覽器實驗了,都可以用,如果其他瀏覽器版本不能用,請自行查閱其他文章,歡迎溝通、指正。

推薦學習:《javascript基礎教學

以上是javaScript怎麼實作複製貼上功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板