vue实现文本,代码一键复制功能

1. 下载clipboard.js

	npm install clipboard --save

2. 在main.js中引入

	import Clipboard from 'clipboard';
	Vue.prototype.clipboard = Clipboard;

3.在组件中使用

<template>
    <div class="copy">
        <div
            class="copy-text"
            data-clipboard-target="#code"
            @click="copy()"
        >
            复制
        </div>
        <div id="code">
            <pre>
            <code>
            <span>&lt;template></span>
                <span>&lt;div></span>这是你想复制的文本<span>&lt;/div></span>
            <span>&lt;/template></span>
            </code>
           </pre>
        </div>
    </div>
</template>
<script>
export default {
    methods: {
        copy() {
            var clipboard = new this.clipboard('.copy-text');
            clipboard.on('success', function(e) {
                e.clearSelection(); //选中时不显示选中的背景色
                alert('复制成功');
            });
            clipboard.on('error', function() {
                alert('复制失败');
            });
        },
    },
};
</script>
<style>
.copy {
    background: white;
    width: 100%;
    height: 400px;
    border: 1px solid #000;
}
.copy-text{
    float: right;
    margin-right: 20px;
    cursor:pointer;
}
</style>

4. 代码解析

data-clipboard-target="#code"//这个的含义是从这个id名为code的元素中复制
e.clearSelection(); //选中时不显示选中的背景色

5.网页实际效果

网页实际效果

点击复制后会弹出

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值