Vue/html中点击复制到剪贴板

1.使用JQ实现复制功能

html

   

复制

复制

jq 封装后

 function copyToClipboard(selector, alertText) {
        // 获取指定选择器下的复制板块
        var $copyBlock = $(selector);

        // 获取textarea元素
        var $textarea = $copyBlock.find('textarea');

        // 复制内容到剪贴板
        if ($textarea.length > 0) {
            $textarea.select();
            document.execCommand('copy');

            // 显示复制成功的提示信息
            var $alert = $('
' + (alertText || '复制成功') + '
'); $copyBlock.append($alert); setTimeout(function () { $alert.fadeOut(function () { $(this).remove(); }); }, 3000); } } $('.tran_copy').click(function () { copyToClipboard($(this).closest('.tran_one')); }); $('.tran_copy_two').click(function () { copyToClipboard($(this).closest('.tran_two')); });

2.使用Vue实现复制功能

html

    

复制

创建了一个隐藏的textarea元素,并将需要复制的内容赋值给它,然后通过document.execCommand('copy')执行复制命令

  copyToClipboard(text) {
        const textarea = document.createElement('textarea');
        textarea.style.position = 'fixed';
        textarea.style.top = 0;
        textarea.style.left = 0;
        textarea.style.width = '1px';
        textarea.style.height = '1px';
        textarea.style.padding = 0;
        textarea.style.border = 'none';
        textarea.style.outline = 'none';
        textarea.style.boxShadow = 'none';
        textarea.style.background = 'transparent';
        textarea.value = text;

        document.body.appendChild(textarea);
        textarea.select();
        try {
            const successful = document.execCommand('copy');
            if (successful) {
                this.$message({
                    message: '内容已成功复制到剪贴板!',
                    type: 'success',
                });
            } else {
                console.log('复制失败');
            }
        } catch (err) {
            console.log('复制失败:', err);
        }

        document.body.removeChild(textarea);
    },

你可能感兴趣的:(html,vue.js,前端)