vue中粘贴板clipboard的使用方法举例

 更新时间:2023年11月16日 11:42:49   作者:Diane_24  
在Web应用程序中剪贴板(Clipboard)操作是非常常见的操作之一,这篇文章主要给大家介绍了关于vue中粘贴板clipboard使用方法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、npm安装clipboard

npm install clipboard --save

二、页面结构

<span id="copyTarget">{{targetCode}}</span>
<span id="copyBtn" @click="copy">复制</span>

targetCode是被复制的文本

三、引入Clipboard

import Clipboard from "clipboard";

四、copy方法

//粘贴板方法
initClipboard(copyDom){
 // 因为此事件不能添加.stop,所以要设置一个开关, 500ms后打开开关
  this.itemIsDisabled = true
  setTimeout(()=>{
    this.itemIsDisabled = false
  }, 500)
  let clipboard = new Clipboard(copyDom,{
    text:function(){
        return document.querySelector(copyDom).innerHTML //复制的内容
    }
  });
  clipboard.on('success', e => {
    console.log(this, '复制成功!', 'success', e);
    clipboard.destroy() 
  })
  clipboard.on('error', e => {
    console.log(this, '该浏览器不支持自动复制!', 'warning', e);
    clipboard.destroy()
  })
},
//点击复制
copy(){
    this.initClipboard('#copyBtn')
}

copy方法不能添加.stop等修饰符,所以如果有需求,我的解决方法是添加一个定时器开关,点复制,让开关关闭500ms,在父元素的时间中判断itemIsDisabled就行了。

success事件中,需要注意this的指向问题。this测试不是指向vue实例

其他用法

如果你不想修改 HTML,提供了一个非常方面的命令式的 API 给你使用。你需要做的就是声明一个函数,做一些处理,并返回一个值。

例如, 你希望动态设置target, 你需要返回一个node节点.

new ClipboardJS('.btn', {
    target: function(trigger) {
        return trigger.nextElementSibling;
    }
});

如果你希望动态设置text, 你需要返回字符串。

new ClipboardJS('.btn', {
    text: function(trigger) {
        return trigger.getAttribute('aria-label');
    }
});

如果在 Bootstrap 模态框(Modals)中使用,或是在其他修改焦点的类库中使用,你会希望将获得焦点的元素设置为 container属性的值。

new ClipboardJS('.btn', {
    container: document.getElementById('modal')
});

同样地,如果你使用单页应用,你可能想要更加精确地管理 DOM 的生命周期。你可以清理事件以及创建的对象。

var clipboard = new ClipboardJS('.btn');
clipboard.destroy();

总结

到此这篇关于vue中粘贴板clipboard的使用方法的文章就介绍到这了,更多相关vue粘贴板clipboard用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue中provide和inject的使用教程详解

    Vue中provide和inject的使用教程详解

    在 Vue 中,provide 和 inject 是用于实现祖先组件向后代组件传递数据的一种方式,本文主要来和大家详细讲讲provide和inject的使用方法,希望对大家有所帮助
    2024-02-02
  • element表格el-table实现虚拟滚动解决卡顿问题

    element表格el-table实现虚拟滚动解决卡顿问题

    当页面数据过多,前端渲染大量的DOM时,会造成页面卡死问题,本文主要介绍了element表格el-table实现虚拟滚动解决卡顿问题,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • vue后台管理如何配置动态路由菜单

    vue后台管理如何配置动态路由菜单

    这篇文章主要介绍了vue后台管理如何配置动态路由菜单,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue实现弹窗引用另一个页面窗口

    vue实现弹窗引用另一个页面窗口

    这篇文章主要介绍了vue实现弹窗引用另一个页面窗口,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue前端获取/切换麦克风、播放采集音频和采集音量大小完整代码

    vue前端获取/切换麦克风、播放采集音频和采集音量大小完整代码

    这篇文章主要给大家介绍了关于vue前端获取/切换麦克风、播放采集音频和采集音量大小的相关资料,文中通过图文以及代码介绍的非常详细,对大家学习或者使用vue具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-12-12
  • vue 倒计时结束跳转页面实现代码

    vue 倒计时结束跳转页面实现代码

    在商场大家经常看到停车收费倒计时支付页面,今天小编通过本文给大家分享vue 倒计时结束跳转页面功能,感兴趣的朋友一起看看吧
    2023-10-10
  • 基于Vue3制作简单的消消乐游戏

    基于Vue3制作简单的消消乐游戏

    这篇文章主要为大家介绍了如何利用Vue3制作简单的消消乐游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试
    2022-05-05
  • vue如何解决this.refs拿取v-for下元素undefine问题

    vue如何解决this.refs拿取v-for下元素undefine问题

    这篇文章主要介绍了vue如何解决this.refs拿取v-for下元素undefine问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Vue数组的劫持逐步分析讲解

    Vue数组的劫持逐步分析讲解

    小编这次要给大家分享的是如何实现vue2.x数组劫持,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获
    2023-01-01
  • 解决vue 绑定对象内点击事件失效问题

    解决vue 绑定对象内点击事件失效问题

    今天小编就为大家分享一篇解决vue 绑定对象内点击事件失效问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09

最新评论