Clipboard

demo示例

<template>
    <div>
        <button id="copyDom">点击复制{{copyData}}</p>
    </div>
</template>

<script>
import Clipboard from 'Clipboard';
export default {
    name: 'ClipboardDemo',
    data () {
        return {
            copyData: '这是要复制的数据'
        };
    },
    // 必须在mounted中初始化
    mounted () {
        this.initCopyDom();
    },
    methods: {
        initClipboard (copyDom) {
            let clipboard = new Clipboard(copyDom, {
                text: function () {
                    return document.getElementById(copyDom).innerText;
                }
            });
            clipboard.on('success', function (e) {
                console.log('Action:', e.action);
                console.log('Text:', e.text);
                console.log('-- 复制成功 --');
                e.clearSelection();
            });
            clipboard.on('error', function (e) {
                console.log(e);
            });
        },
        // 点击复制
        initCopyDom () {
            this.initClipboard('#copyDom');
        },
    }
};
</script>

<style scoped>

</style>

问题集合

1、clipboard和Fastclick冲突,导致点击两次才能复制。解决方案:加一个名为“needsclick”的类名

  <button id="copyDom" class="needsclick ">点击复制</p>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。