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

vue中js實(shí)現(xiàn)點(diǎn)擊復(fù)制文本到剪貼板的3種方案

 更新時(shí)間:2023年09月05日 11:01:04   作者:星月前端  
今天遇到一個(gè)復(fù)制粘貼的需求,研究之后發(fā)現(xiàn)太簡(jiǎn)單了,這篇文章主要給大家介紹了關(guān)于vue中js實(shí)現(xiàn)點(diǎn)擊復(fù)制文本到剪貼板的3種方案,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

vue中js實(shí)現(xiàn)點(diǎn)擊復(fù)制文本到剪貼板

因?yàn)樵诰W(wǎng)上找了一些很雜亂 不適用 所以自己寫一篇記錄分享一下vue中js實(shí)現(xiàn)點(diǎn)擊復(fù)制文本到剪貼板-三種方案

效果:

方案一:使用原生API(clipboard)

首先,我們需要安裝clipboard庫(kù),它是一個(gè)輕量級(jí)的JavaScript庫(kù),用于復(fù)制/粘貼文本到剪貼板。

命令行運(yùn)行npm install clipboard --save進(jìn)行安裝。

 npm install clipboard --save

使用該庫(kù)實(shí)現(xiàn)代碼如下:

<template>
  <div>
    <button @click="copyText">復(fù)制文本</button>
  </div>
</template>
<script>
import clipboard from 'clipboard';
export default {
  methods: {
    copyText() {
      let text = 'Hello World';
      clipboard.writeText(text);
      alert('已復(fù)制到剪貼板!');
    }
  }
}
</script>

方案二:使用v-copy指令

我們可以使用vue指令,使元素支持復(fù)制文本到剪貼板。

<template>
  <div>
    <button v-copy="text">復(fù)制文本</button>
  </div>
</template>
<script>
export default {
  data() {
    return {
      text: 'Hello World'
    }
  }
}
</script>
// 注冊(cè)指令
Vue.directive('copy', {
  bind: function(el, binding) {
    el.$copy = function() {
      const textarea = document.createElement('textarea');
      textarea.value = binding.value;
      document.body.appendChild(textarea);
      textarea.select();
      document.execCommand('Copy');
      document.body.removeChild(textarea);
    }
    el.addEventListener('click', el.$copy);
  },
  unbind: function(el) {
    el.removeEventListener('click', el.$copy);
  }
});

方案三:使用clipboard.js庫(kù)

clipboard.js庫(kù)是一個(gè)現(xiàn)成的插件,可以通過安裝運(yùn)用它來實(shí)現(xiàn)復(fù)制文本到剪貼板的功能。

命令行運(yùn)行 npm install clipboard --save 進(jìn)行安裝。

npm install clipboard --save 

使用clipboard.js實(shí)現(xiàn)代碼如下:

<template>
  <div>
    <button class="copy-btn" data-clipboard-text="Hello World">復(fù)制文本</button>
  </div>
</template>
<script>
import ClipboardJS from 'clipboard';
export default {
  mounted() {
    new ClipboardJS('.copy-btn');
  }
}
</script>

方案三:使用clipboard.js庫(kù)(vue3版)

安裝 clipboard.js 庫(kù)

可以使用 npm 或 yarn 安裝 clipboard.js,命令如下:

npm i clipboard
# 或者
yarn add clipboard

完整代碼如下:

<template>
  <button class="copy-btn">復(fù)制</button>
</template>
<script setup>
import { onMounted, ref } from 'vue'
import ClipboardJS from 'clipboard'
const clipboardText = ref('hello world')
const copyText = () => {
  const clipboard = new ClipboardJS('.copy-btn', {
    text() {
      return clipboardText.value
    }
  })
  clipboard.on('success', () => {
    console.log('復(fù)制成功')
  })
  clipboard.on('error', () => {
    console.log('復(fù)制失敗')
  })
}
onMounted(() => {
  copyText()
})
</script>

以上三種方案,都可以實(shí)現(xiàn)復(fù)制文本到剪貼板的功能,具體應(yīng)用中,可根據(jù)實(shí)際情景選擇適合自己的方案。

總結(jié)

到此這篇關(guān)于vue中js實(shí)現(xiàn)點(diǎn)擊復(fù)制文本到剪貼板的3種方案的文章就介紹到這了,更多相關(guān)vue js點(diǎn)擊復(fù)制文本到剪貼板內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue2.x中的provide和inject用法小結(jié)

    vue2.x中的provide和inject用法小結(jié)

    這篇文章主要介紹了vue2.x中的provide和inject用法小結(jié),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-12-12
  • vue全局使用axios的方法實(shí)例詳解

    vue全局使用axios的方法實(shí)例詳解

    這篇文章主要介紹了vue全局使用axios的方法實(shí)例詳解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11
  • vue?element修改el-select控件長(zhǎng)度style=“width:XXpx“不生效的解決

    vue?element修改el-select控件長(zhǎng)度style=“width:XXpx“不生效的解決

    這篇文章主要介紹了vue?element修改el-select控件長(zhǎng)度style=“width:XXpx“不生效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 詳談vue+webpack解決css引用圖片打包后找不到資源文件的問題

    詳談vue+webpack解決css引用圖片打包后找不到資源文件的問題

    下面小編就為大家分享一篇詳談vue+webpack解決css引用圖片打包后找不到資源文件的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • VueX學(xué)習(xí)之modules和namespacedVueX詳細(xì)教程

    VueX學(xué)習(xí)之modules和namespacedVueX詳細(xì)教程

    這篇文章主要為大家介紹了VueX學(xué)習(xí)之modules和namespacedVueX詳細(xì)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • vue數(shù)字類型過濾器的示例代碼

    vue數(shù)字類型過濾器的示例代碼

    本篇文章主要介紹了vue數(shù)字類型過濾器的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • vue.js實(shí)現(xiàn)的綁定class操作示例

    vue.js實(shí)現(xiàn)的綁定class操作示例

    這篇文章主要介紹了vue.js實(shí)現(xiàn)的綁定class操作,結(jié)合實(shí)例形式分析了vue.js綁定class常見的3種操作技巧,需要的朋友可以參考下
    2018-07-07
  • 詳解vue?Router(v3.x)?路由傳參的三種方式

    詳解vue?Router(v3.x)?路由傳參的三種方式

    vue路由傳參的使用場(chǎng)景一般都是應(yīng)用在父路由跳轉(zhuǎn)到子路由時(shí),攜帶參數(shù)跳轉(zhuǎn),本文將詳細(xì)介紹vue路由傳參的三種方式,這三種傳參方式只是針對(duì)vue?Router?V3版本的,需要的朋友可以參考下
    2023-07-07
  • Vuex中的State使用介紹

    Vuex中的State使用介紹

    今天小編就為大家分享一篇關(guān)于Vuex中的State使用介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Vue中的表單輸入綁定,雙向綁定方式

    Vue中的表單輸入綁定,雙向綁定方式

    這篇文章主要介紹了Vue中的表單輸入綁定,雙向綁定方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03

最新評(píng)論

夏津县| 敦煌市| 宁远县| 泗水县| 兴义市| 辛集市| 衡阳市| 彭泽县| 柞水县| 呼伦贝尔市| 宜都市| 上饶县| 万全县| 榆林市| 南阳市| 甘肃省| 浦北县| 西峡县| 威宁| 德令哈市| 新巴尔虎右旗| 合山市| 迁安市| 诏安县| 江永县| 三台县| 香河县| 泾阳县| 准格尔旗| 五华县| 庄河市| 广州市| 内黄县| 屏山县| 东兰县| 莱阳市| 呼伦贝尔市| 合肥市| 明水县| 互助| 马边|