点击copy 文本/生成链接

2022-11-15  本文已影响0人  泛滥的小愤青

// copy文本

    handleLinkCopy(data) {
        const range = document.createRange(); // 创建range对象
        range.selectNode(document.getElementById(data.id)); //获取复制内容的 id 选择器
        const selection = window.getSelection();  //创建 selection对象                        
        if (selection.rangeCount > 0) selection.removeAllRanges(); //如果页面已经有选取了的话,会自动删除这个选区,没有选区的话,会把这个选取加入选区
        selection.addRange(range); //将range对象添加到selection选区当中,会高亮文本块
        document.execCommand('copy'); //复制选中的文字到剪贴板
        this.$message.success('复制成功')
        selection.removeRange(range); // 移除选中的元素
    },

仅文本

// copy 生成链接

    handleLinkCopy(data) {
     return new Promise((resolve) => {
            var input = document.createElement("input"); // js创建一个input输入框
            input.value = data.id; // 将需要复制的文本赋值到创建的input输入框中
            document.body.appendChild(input); // 将输入框暂时创建到实例里面
            input.select(); // 选中输入框中的内容
            document.execCommand("Copy"); // 执行复制操作
            document.body.removeChild(input); // 最后删除实例中临时创建的input输入框,完成复制操作
            this.$message.success('复制成功')
            console.log("点击copy知识链接", data)
            resolve();
      });
    },

可以自定义内容

上一篇 下一篇

猜你喜欢

热点阅读