首页 > 其他分享 >JS复制文本方法总结

JS复制文本方法总结

时间:2022-12-06 16:34:56浏览次数:38  
标签:function document clipBoard textarea JS clipboard 复制 文本

1. document.execCommand() 【即将废弃】

function copy(textValue) {
  // 动态创建 textarea 标签
  const textarea = document.createElement('textarea')
  // 将该 textarea 设为 readonly 防止 iOS 下自动唤起键盘,同时将 textarea 移出可视区域
  textarea.readOnly = 'readonly'
  textarea.style.position = 'absolute'
  textarea.style.left = '-9999px'
  // 将要 copy 的值赋给 textarea 标签的 value 属性
  textarea.value = textValue
  // 将 textarea 插入到 body 中
  document.body.appendChild(textarea)
  // 选中值并复制
  textarea.select()
  const result = document.execCommand('Copy')
  if (result) {
    Vue.prototype.$message({
      message: '复制成功',
      type: 'success'
    });
  }
  document.body.removeChild(textarea)
}

2. navigator.clipboard.writeText()【微信浏览器中无效】

function copy(textValue) {
  navigator.clipboard.writeText(textValue).then(() => {
    console.log('复制成功')
  })
}

3. Vue项目:安装clipboard

npm install clipboard --save
然后,引入 clipboard
import Clipboard from 'clipboard'
对被点击的文本或按钮绑定动态变量 id="btn" :data-clipboard-text="scope.row.courseNo"

<!-- 这里scope.row.courseNo是我要复制的内容 -->
<template slot-scope="scope">
    <span id="btn" :data-clipboard-text="scope.row.courseNo" @click="copyValue()">{{ scope.row.courseNo }}</span>
 </template>

方法
copy() {
   const Message = this.$message
   var clipBoard = new Clipboard('#btn')
   clipBoard.on('success', function() {
       clipBoard.destroy() // 销毁上一次的复制内容
       clipBoard = new Clipboard('#btn')
       Message.success('复制成功')
   })
   clipBoard.on('error', function() {
       Message.info('复制失败,请手动复制')
   })
}

 

标签:function,document,clipBoard,textarea,JS,clipboard,复制,文本
From: https://www.cnblogs.com/gteman/p/16955689.html

相关文章

  • Redis主从复制,哨兵模式和集群模式
    一、主从复制1、主从复制-哨兵-集群主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操......
  • Nestjs-Authentication 文档翻译
    Authentication认证是大多数应用程序中非常重要的部分.有很多不同的方法和策略去处理认证,根据不同的要求决定。本章节展示了几种不同方式,这些方式通常是能够适用于......
  • python 处理docker inspect json 数据
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#pipinstallpandas#pipinstallopenpyxl####http://192.168.145.37:8090/nationExchang......
  • JSON解析
    Android开发中,与服务器交互80%是通过JSON方式传输数据,JSON也是基于纯文本的数据格式,JSON具有跨平台的优势,相对XML,JSON解析起来更方便,简单,解析数据所消耗的流量也会比XML少,而......
  • JS特殊语法 流程控制语句
    语局以;结尾如果一行只有一条语句则;可以省略(不建议)变量的定义使用var关键字也可以不使用用:定义的变量是局部变量不用:定义的变量是全局变量(不建议)  ......
  • C# 元组类型和元组文本
    从C#7.0开始,可以使用元组类型和元组文本轻松实现此目的。元组类型定义元组元素的数据类型。元组文本提供返回的元组的实际值。在下面的示例中,(string,string,str......
  • 在Node.JS中调用JShaman接口,实现JS代码加密
    在Node.JS中调用JShaman接口,实现JS代码加密。使用axios库实现https的post请求,代码如下:constaxios=require("axios");constjshamanConfig={//源码"js_code":......
  • shenyu2.5.0报错Expected a com.google.gson.JsonObject but was com.google.gson.Jso
    一、环境shenyu:2.5.0业务服务接入方式:httpshen-admin的数据数据同步方式:websocket二、异常描述当shenyu-admin启动或者业务服务注册到admin时,报错2022-10-1200:06:10[m......
  • python之 json文件转xlsx文件
    直接上干货JSON数据转化后的xlsx文件代码解析(可直接食用)"""@File:json_to_xlsx.py@Author:Logan@Date:2022/12/6@Desc:json数据保存未xlsx文件"""......
  • 关于jsp页面之间传值的中文乱码总结
    关于jsp页面之间传值的中文乱码总结最近在各位大哥的帮助下,终于解决了jsp页面之间的传值问题,总结如下:源代码,a.jsp往b.jsp传值:a.jsp页面内容:<%@pagelanguag......