vue使用clipboardjs实现复制粘贴文本内容

138 篇文章 7 订阅
65 篇文章 4 订阅

需求:使用 clipboardjs实现文本内容复制粘贴功能

效果图:

09304bb60e504976b8b37b607f0eb14a.png

为什么要使用clipboard

clipboard.js 让web复制文本到剪贴板不再困难,它使用起来非常简单,仅仅需要几句简单的js代码,而不需要几十个步骤来进行配置或加载数百KB的文件。 更重要的是,它不依赖于 Flash 或 JQuery 或任何臃肿的框架。

安装clipboard :

npm install clipboard --save

页面引入:

import Clipboard from "clipboard"

也可以使用第三方cdn

<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script>

复制内容

item.content是当前循环的内容 

<div @click="handleCopy" class="copy copyCode backMsg" :data-clipboard-text="item.content">
     <img src="../../assets/img/copy.png" class="msgImg">
     <span>复制</span>
</div>

// 复制粘贴
    handleCopy() {
      var clipboard = new Clipboard(".copy");
      clipboard.on("success", e => {
        this.$toast({
          message: "复制成功",
          onClose: () => {
            // 释放内存
            clipboard.destroy();
          }
        });
      });
      clipboard.on("error", e => {
        this.$toast({
          message: "复制失败",
          onClose: () => {
            // 释放内存
            clipboard.destroy();
          }
        });
      });
    },

扩展

剪切内容 :

可以定义一个 data-clipboard-action 属性来指定是要复制还是剪切内容。

如果省略此属性,默认情况下将使用复制。


<textarea id="textValue">船长在船上</textarea>


<button class="btn" data-clipboard-action="cut" data-clipboard-target="#textValue">
    Cut to clipboard
</button>

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

船长在船上

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值