中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

在vue使用clipboard.js進行一鍵復制文本的實現示例

發布時間:2020-09-30 20:29:21 來源:腳本之家 閱讀:196 作者:Yinzhishan 欄目:web開發

需求

最近在做商城項目,有個需求是需要點擊復制訂單號的,然后就覺得可以使用原生的復制方法和使用第三方庫。

瀏覽器原生方法

這種方式兼容性不是太好,還要看瀏覽器是否支持,容易采坑。

//在IE中可以用window.clipboardData.setData('text','內容')實現。
//在IE中clipboardData是window的屬性,而其他瀏覽器則是相應的event對象的屬性,這實際上是一種安全措施,防止未經授權的訪問,為了兼容其他瀏覽器,所以我們不能通過clipboardData來實現這種操作。
//具體做法:
//1.創建一個隱藏的input框
//2.點擊的時候,將要復制的內容放進input框中
//3.選擇文本內容input.select()
//4.這里只能用input或者textarea才能選擇文本。
//5.執行瀏覽器的復制命令document.execCommand("copy")。
 function copyText() {
  var text = document.getElementById("text").innerText; // 獲取要復制的內容也可以傳進來
  var input = document.getElementById("input"); // 獲取隱藏input的dom
  input.value = text; // 修改文本框的內容
  input.select(); // 選中文本
  document.execCommand("copy"); // 執行瀏覽器復制命令
  alert("復制成功");
 }

//在事件中可以通過e 對內容進行修飾
document.body.oncopy = e => {
  // 監聽全局復制 做點什么
}
 // 還有這種寫法:
document.addEventListener("copy", e => {
 // 監聽全局復制 做點什么
});

使用 clipboard.js

我們要先安裝

npm install clipboard --save

在 mian.js 中引入,當然我們也可以在用到的 .vue 中引入,因為我不止一個地方用到了復制,所以直接在 main.js 里面引入了。

import clipboard from 'clipboard';
//注冊到vue原型上
Vue.prototype.clipboard = clipboard;

在需要的地方使用

//dom
···
<div class="sn Lfll Lmr20">訂單編號:
  <span data-clipboard-action="copy" class="cobyOrderSn" :data-clipboard-text="orderData.orderSn" @click="copyLink">{{orderData.orderSn}}</span>
 </div>
···
//js
···
 copyLink() {
   let _this = this;
   let clipboard = new this.clipboard(".cobyOrderSn");
   clipboard.on('success', function () {
    _this.$toast("復制成功")
   });
   clipboard.on('error', function () {
    _this.$toast("復制失敗")
   });
 }
···

當然 clipboard.js 的功能可不止這么簡單,我們還可使用它進行剪切,還可以通過它復制其他元素的值等,具體的使用可查看官方文檔: clipboard.js ;

小結

關于瀏覽器一鍵復制,推薦使用 clipboard.js 來做,因為現在原生方法兼容性并不是很好,而且 clipboard.js 文件并不大,但是卻可以幫我們做很多事情,減輕很多調試和避免采坑。以上只是記錄一下自己遇到的問題,如有錯誤,還請指正,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

北川| 阜宁县| 彭阳县| 松桃| 罗田县| 宁南县| 兖州市| 彝良县| 新安县| 青河县| 罗田县| 宝清县| 台湾省| 修武县| 龙里县| 嫩江县| 新乡县| 保山市| 措勤县| 长宁区| 凤凰县| 衡东县| 阳朔县| 韩城市| 吴忠市| 永胜县| 怀集县| 平乐县| 津市市| 邵武市| 内丘县| 昌黎县| 石屏县| 云浮市| 长治市| 囊谦县| 泉州市| 两当县| 清徐县| 金乡县| 克山县|