vue点击复制_js获取复制的内容

vue点击复制_js获取复制的内容Vue中配合clipboard.js实现点击按钮复制内容

大家好,又见面了,我是你们的朋友全栈君。

项目需求

点击某个按钮,将设置的目标内容(例如下载链接地址,电话号,微信号)复制到剪切板,可以在电脑/手机上任何地方粘贴

插件选择

  • clipboard.js:

1. 官方地址:clipboardjs.com

2. 引入方式:

  • NPM 方式npm install clipboard --save

3. 使用方式(官方文档例子):

  • HTML(target包括但不限于input)
<!-- Target -->
<input id="foo" value="https://github.com/zenorocha/clipboard.js.git">

<!-- Trigger -->
<button class="btn" data-clipboard-target="#foo">
    <img src="assets/clippy.svg" alt="Copy to clipboard">
</button>复制代码
  • JS
var clipboard = new ClipboardJS('.btn');
//成功回调
clipboard.on('success', function(e) {
    console.info('Action:', e.action);
    console.info('Text:', e.text);
    console.info('Trigger:', e.trigger);  
    e.clearSelection();
});
//失败回调
clipboard.on('error', function(e) {
    console.error('Action:', e.action);
    console.error('Trigger:', e.trigger);
});复制代码

更多使用方式和功能请参考官方文档,这里只举例一个实用且常用的功能!


在 Vue 中使用

1. 安装:

npm install clipboard --save复制代码

2.  引入:

import Clipboard from 'clipboard';复制代码

3. template: 

<button   ref="copyButton"   :data-clipboard-text="copyNumber"></button>复制代码

如果不想显示 input 输入框,可把需要复制的内容使用 data-clipboard-text 挂载到按钮上

<input id="copyInput" readonly v-module="copyNumber"><button   ref="copyButton"   data-clipboard-target="copyInput"></button>复制代码

如果需要显示 input 输入框,可以在 data-clipboard-target 填写输入框的 id 去复制输入框的内容

4. js

export default {  data() {    return {      copyNumber: '18404960408'    };  },
methods: {    // 初始化复制插件    initClipboard() {      const clipboard = new Clipboard(this.$refs.copyButton);      clipboard.on('success', (e) => {        console.log('复制成功,请在微信粘贴添加')      });      clipboard.on('error', (e) => {        console.log('复制失败,请再次尝试')      });    }  },  mounted() {    this.initClipboard();  }
}复制代码

转载于:https://juejin.im/post/5c80754ef265da2da23d5624

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106944.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 全局钩子注入

    全局钩子注入全局钩子介绍hook,指利用api来提前拦截并处理windows消息的一种技术。如键盘钩子,许多木马都有这东西,监视你的键盘操作。全局钩子是系统钩子的一种,当指定的一些消息被系统中任

    2021年12月13日
    45
  • Android开发必备工具

    Android开发必备工具工欲善其事,必先利其器,在Android项目的开发中,借助工具能使开发效率大幅提升,下面分享我经常使用的工具,欢迎各位同学补充。1.AndroidStudioAndroid程序员的吃饭工具,可以说现在绝大部分的安卓项目都是跑在AndroidStudio上面的。AndroidStudio是基于IntelliJIDEA且适用于开发Android应用的官方集成开发环境(IDE…

    2022年6月7日
    38
  • 8000401a错误解决方案(Word应用程序无法访问)

    8000401a错误解决方案(Word应用程序无法访问)前一阵子做开发需要用到Excel和Word编程,本人用的是Vista系统,开发环境是VS2005和Office2007,测试无任何问题,可是到部署的时候出现了一些令人很头痛的问题,老是会出现例如:检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误:8000401a。的错误,在网上查询了许多资

    2022年7月25日
    19
  • C语言:大数取余_c语言15和50取余等于多少

    C语言:大数取余_c语言15和50取余等于多少大数取余数(数组)今天做学校的oj时遇到一题,问题可见一下截图:查遍各大论坛,都没有遇到合适的方法,普通方法不可用,要采用数组的形式。被除数超过longlong类型,不能采用常规思路,否则会出

    2022年8月2日
    7
  • android定时器开发[通俗易懂]

    android定时器开发[通俗易懂]在android中,经常用到的定时器主要有以下几种实现:一、采用Handler与线程的sleep(long)方法二、采用Handler的postDelayed(Runnable,long)方法三、采用Handler与timer及TimerTask结合的方法。下面逐一介绍:一、采用Handle与线程的sleep(long)方法Handler主要用来处理接受到的消息。这只是最主要的方法,当…

    2022年7月25日
    11
  • Exploring Message Brokers: RabbitMQ, Kafka, ActiveMQ, and Kestrel–reference

    Exploring Message Brokers: RabbitMQ, Kafka, ActiveMQ, and Kestrel–reference

    2021年9月2日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号