js 点击复制文字

双击复制文案
             <span
                @dblclick.stop="copyInfo(scope.row.name)"
                >{{ scope.row.name}}</span
              >
    // 复制
    copyInfo(_text_) {
      var input = document.createElement('input') // 创建input对象
      input.value = _text_ // 设置复制内容
      document.body.appendChild(input) // 添加临时实例
      input.select() // 选择实例内容
      document.execCommand('Copy') // 执行复制
      document.body.removeChild(input) // 删除临时实例
      _g.toastMsg('success', '已复制!')
    }

https://www.cnblogs.com/2001-/p/13541728.html

点击复制文案(多行)
<li v-for="(item, index) in list" :key="index">
                <span>URL</span>
                <span :id="'url' + index">{{ item.url }}</span>
                <el-button @click="copyContent('url' + index)">复制链接</el-button>
</li>
    // 复制文本
    copyContent($id) {
      this.selectText($id)
      document.execCommand('copy')
      _g.toastMsg('success', '已复制')
    },
    // 选中文本
    selectText(element) {
      var text = document.getElementById(element)
      // 做下兼容
      if (document.body.createTextRange) {
        // 如果支持
        const range = document.body.createTextRange() // 获取range
        range.moveToElementText(text) // 光标移上去
        range.select() // 选择
      } else if (window.getSelection) {
        var selection = window.getSelection() // 获取selection
        const range = document.createRange() // 创建range
        range.selectNodeContents(text) // 选择节点内容
        selection.removeAllRanges() // 移除所有range
        selection.addRange(range) // 添加range
      } else {
        _g.toastMsg('error', '复制失败')
      }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容