最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在vue使用clipboard.js進(jìn)行一鍵復(fù)制文本的實(shí)現(xiàn)示例

 更新時(shí)間:2019年01月15日 14:13:41   作者:Yinzhishan  
這篇文章主要介紹了在vue使用clipboard.js進(jìn)行一鍵復(fù)制文本的實(shí)現(xiàn)示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

需求

最近在做商城項(xiàng)目,有個(gè)需求是需要點(diǎn)擊復(fù)制訂單號(hào)的,然后就覺得可以使用原生的復(fù)制方法和使用第三方庫(kù)。

瀏覽器原生方法

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

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

//在事件中可以通過(guò)e 對(duì)內(nèi)容進(jìn)行修飾
document.body.oncopy = e => {
  // 監(jiān)聽全局復(fù)制 做點(diǎn)什么
}
 // 還有這種寫法:
document.addEventListener("copy", e => {
 // 監(jiān)聽全局復(fù)制 做點(diǎn)什么
});

使用 clipboard.js

我們要先安裝

npm install clipboard --save

在 mian.js 中引入,當(dāng)然我們也可以在用到的 .vue 中引入,因?yàn)槲也恢挂粋€(gè)地方用到了復(fù)制,所以直接在 main.js 里面引入了。

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

在需要的地方使用

//dom
···
<div class="sn Lfll Lmr20">訂單編號(hào):
  <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("復(fù)制成功")
   });
   clipboard.on('error', function () {
    _this.$toast("復(fù)制失敗")
   });
 }
···

當(dāng)然 clipboard.js 的功能可不止這么簡(jiǎn)單,我們還可使用它進(jìn)行剪切,還可以通過(guò)它復(fù)制其他元素的值等,具體的使用可查看官方文檔: clipboard.js ;

小結(jié)

關(guān)于瀏覽器一鍵復(fù)制,推薦使用 clipboard.js 來(lái)做,因?yàn)楝F(xiàn)在原生方法兼容性并不是很好,而且 clipboard.js 文件并不大,但是卻可以幫我們做很多事情,減輕很多調(diào)試和避免采坑。以上只是記錄一下自己遇到的問(wèn)題,如有錯(cuò)誤,還請(qǐng)指正,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue 不定高展開動(dòng)效原理詳解

    Vue 不定高展開動(dòng)效原理詳解

    本文主要介紹了Vue不定高展開動(dòng)效原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • vue-cli3.0+element-ui上傳組件el-upload的使用

    vue-cli3.0+element-ui上傳組件el-upload的使用

    這篇文章主要介紹了vue-cli3.0+element-ui上傳組件el-upload的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Vue項(xiàng)目打包部署到apache服務(wù)器的方法步驟

    Vue項(xiàng)目打包部署到apache服務(wù)器的方法步驟

    這篇文章主要介紹了Vue項(xiàng)目打包部署到apache服務(wù)器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • vuex項(xiàng)目中登錄狀態(tài)管理的實(shí)踐過(guò)程

    vuex項(xiàng)目中登錄狀態(tài)管理的實(shí)踐過(guò)程

    由于狀態(tài)零散地分布在許多組件和組件之間的交互中,大型應(yīng)用復(fù)雜度也經(jīng)常逐漸增長(zhǎng),為了解決這個(gè)問(wèn)題,Vue 提供 vuex,這篇文章主要給大家介紹了關(guān)于vuex項(xiàng)目中登錄狀態(tài)管理的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • el-table表頭使用el-dropdown出現(xiàn)兩個(gè)下拉框的問(wèn)題及解決方法

    el-table表頭使用el-dropdown出現(xiàn)兩個(gè)下拉框的問(wèn)題及解決方法

    本文給大家分享el-table在固定右邊列時(shí),表頭使用el-dropdown會(huì)出現(xiàn)兩個(gè)下拉框的解決方法,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • vue如何實(shí)現(xiàn)在線編輯excel

    vue如何實(shí)現(xiàn)在線編輯excel

    這篇文章主要介紹了vue如何實(shí)現(xiàn)在線編輯excel問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue中的router-view組件的使用教程

    vue中的router-view組件的使用教程

    這篇文章主要介紹了vue中的router-view組件的使用教程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • vue 組件之間事件觸發(fā)($emit)與event Bus($on)的用法說(shuō)明

    vue 組件之間事件觸發(fā)($emit)與event Bus($on)的用法說(shuō)明

    這篇文章主要介紹了vue 組件之間事件觸發(fā)($emit)與event Bus($on)的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • 基于Vue2的移動(dòng)端開發(fā)環(huán)境搭建詳解

    基于Vue2的移動(dòng)端開發(fā)環(huán)境搭建詳解

    這篇文章主要給大家介紹的是基于Vue2的移動(dòng)端環(huán)境搭建,移動(dòng)端大家更多想到的是響應(yīng)布局,我們根據(jù)不同大小的屏幕進(jìn)行適配,當(dāng)然少不了我們的重頭戲rem,移動(dòng)端相比pc端就沒什么特別的了。我會(huì)一步一步帶領(lǐng)大家進(jìn)入Vue2的世界,感興趣的朋友下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11
  • Vue中textarea自適應(yīng)高度方案的實(shí)現(xiàn)

    Vue中textarea自適應(yīng)高度方案的實(shí)現(xiàn)

    本文主要介紹了Vue中textarea自適應(yīng)高度方案的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評(píng)論

来安县| 新邵县| 木里| 明水县| 白河县| 云南省| 襄汾县| 洪湖市| 成都市| 海晏县| 新野县| 永宁县| 中方县| 武胜县| 普定县| 扶余县| 登封市| 罗甸县| 天门市| 阿克陶县| 江门市| 峨眉山市| 顺平县| 祁东县| 会理县| 内江市| 合江县| 秭归县| 淮北市| 海原县| 莫力| 江津市| 苍山县| 来宾市| 山阳县| 富顺县| 桐乡市| 寻甸| 庄河市| 武胜县| 泽州县|