示例图:
按钮点击复制功能主要通过 clipboard.js 来实现
在vue中使用clipboard.js 时候发现一个问题,就是如果不是input或者button 按钮的话,则复制不成功,使用步骤如下:
1、引入clipboard.js,方法如下:
第一种直接npm安装:npm install clipboard --save
npm install clipboard --save
第二种:<script src="js/clipboard.min.js"></script>
<script src="js/clipboard.min.js"></script>
(官网:clipboard.js — Copy to clipboard without Flashhttps://clipboardjs.com/)
2、在需要使用复制的组件中import
引用方法:import Clipboard from 'clipboard';
import Clipboard from 'clipboard';
3、添加需要复制的内容
例如:
<button class="tag-read" data-clipboard-text="点击后复制的内容" @click="copy">立即阅读</button>
解析: data-clipboard-text: 点击后复制的内容
4、添加点击后的方法methods:
copy() {
var clipboard = new Clipboard('.tag-read')
clipboard.on('success', e => {
console.log('复制成功')
// 释放内存
clipboard.destroy()
})
clipboard.on('error', e => {
// 不支持复制
console.log('该浏览器不支持复制')
// 释放内存
clipboard.destroy()
})
}