js中的一键复制功能

news2024/9/20 20:50:18

文章目录

    • 前言
    • execCommand的兼容性
    • 页面
    • 代码展示
    • 通过下载[clipboard.js](https://clipboardjs.bootcss.com/) 库实现
      • 在组件中使用

前言

在前端开发中,有时候需要对内容比如订单编号,货物编号进行复制处理业务,但是编码有比较长,手动一个个的录入不仅费时还容易录入错误,这时的一键复制功能就显的很方便。

查阅相关资料得知,js有个方法是可以实现复制功能的

document.execCommand('copy') //拷贝/复制 
document.execCommand('cut') //剪切
document.execCommand('paste') //粘贴

execCommand的兼容性

在这里插入图片描述

页面

在这里插入图片描述

代码展示

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>一键复制</title>
</head>

<body>
  <input type="text" id="input" value="Hello World">
  <button>一键复制</button>
  <script>
    var button = document.querySelector('button');
    button.addEventListener('click', function () {
      var input = document.querySelector('input');
      var value = input.value;
      input.select();
      copyToClipboard(value);
      alert('已复制到剪贴板');
    });
    function copyToClipboard(text) {
      document.execCommand('copy');

    }
  </script>
</body>

</html>

通过下载clipboard.js 库实现

npm install clipboard --save

在组件中使用

import Clipboard from 'clipboard'

<template>
<div>
<input  id='input' :value='val'>
<button @click="copy"> copy</button>
</div>
</template>

<script setup>
import {ref} from 'vue'
import  Clipboard from 'clipboard' 

const val = ref('hello world')
const copy (res=val.value){
let clipboard = new Clipboard("#input",{
  text: function() {
        return res
    }}) 
//复制成功
clipboard.on('success',()=>{
alert('复制成功')
clipboard.destroy(); //清理 Clipboard.js 所创建的事件和对象
})
}
</script>

或者引入CDN 引入
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js"></script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2049088.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s 部署polardb-x集群

前言 体验了基于源码构建的部署polardb-x 单机部署&#xff0c;当然也想体验性能更好的完全分布式集群。这边文章将重点介绍如何部署polardb-x集群 简介 PolarDB-X 是一款面向超高并发、海量存储、复杂查询场景设计的云原生分布式数据库系统。其采用 Shared-nothing 与存储计…

[SWPUCTF 2021 新生赛]easy_sql

网址有提示wllm 尝试http://node4.anna.nssctf.cn:28075/?wllm1 我们尝试sqlmap注入一下 sqlmap -u "http://node4.anna.nssctf.cn:28075/?wllm1" --dbs sqlmap -u "http://node4.anna.nssctf.cn:28075/?wllm1" -D test_db -tables sqlmap -u "ht…

el-tree树状控件,定位到选中的节点的位置

效果图 在el-tree 控件加 :render-content"renderContent" 在掉接口的方法中 实际有用的是setTimeout 方法和this.$refs.xxxxxx.setCheckedKeys([industrycodeList]) if(res.data.swindustrylist.length>0){res.data.swindustrylist.forEach(item > {industry…

使用MicroApp重构旧项目

前言 随着技术的飞速发展&#xff0c;我们公司内部一个基于“上古神器” jQuery PHP 构建的十年历史老项目已显力不从心&#xff0c;技术非常老旧且维护成本高昂&#xff0c;其实已经无数次想要重构&#xff0c;但是苦于历史遗留原因以及业务的稳定性而一直难以下手&#xff0…

TortoiseGit处理文件夹名、文件名大小写变更问题

windows环境下使用TortoiseGit&#xff0c;经常会碰到把源码中某个文件或文件夹仅修改大小写进行重命名的场景&#xff0c;但是git默认大小写不敏感&#xff0c;可以使用以下方式处理&#xff1a; 一、文件大小写重命名 右键要重命名的文件→TortoiseGit→Rename 二、文件夹大…

猫头虎 分享:Python库 Scrapy 的简介、安装、用法详解入门教程

猫头虎 分享&#xff1a;Python库 Scrapy 的简介、安装、用法详解入门教程 &#x1f405; 今天猫头虎带您探索Python中的强大爬虫库——Scrapy&#xff0c;从简介到安装&#xff0c;再到用法详解&#xff0c;带您一步步掌握这门技术&#xff01; &#x1f40d; &#x1f4e2; …

Mafia

目录 一、题目 二、思考 三、payload 3.1 方案一 3.2 方案二 3.3 方案三 3.4 方案四 四、思考与总结 一、题目 /* Challenge */ mafia (new URL(location).searchParams.get(mafia) || 11) mafia mafia.slice(0, 50) mafia mafia.replace(/[\\\"\\-\!\\\[\]]/gi…

Linux快捷方式创建、输出重定向(正确输出和错误输出)

一.正确输出 创建一个1.txt文件&#xff0c;然后用vim打开这个文件&#xff0c;然后再开一个窗口 进程号是5602 通过proc可以看到5602这个进程 进入5602里面这里记录了程序的信息&#xff0c;找到fd 进入fd目录下面有0124快捷方式&#xff1a;快捷方式对应的真正的文件是 /de…

计算机毕业设计 医院问诊系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

2024年人工智能SSD采购容量估计将超过45 EB

市场报告摘要 市场背景&#xff1a;根据TrendForce公司的报告&#xff0c;由于人工智能&#xff08;AI&#xff09;服务器客户对AI应用的企业级固态硬盘&#xff08;SSD&#xff09;需求激增&#xff0c;过去两个季度中企业级SSD订单显著增加。上游供应商动态&#xff1a;上游…

mysql 一些知识点 面试用

mysql 1、4个隔离级别与3个现象2、快照读与当前读2.1 可重复读的情况下出现幻读问题的两种情况 3 数据库 常用引擎4、InnoDB存储引擎对MVCC的实现5、索引(重点)5.1 什么是索引5.2 索引的创建与删除5.2.1 查看表中有哪些索引5.2.2 添加索引5.2.3 删除索引 5.3 索引的分类5.4 树数…

web技术1——jdk目录结构(重要),tomcat服务器

jdk文件夹结构(重要) bin目录&#xff1a; 里面都是.exe可执行文件。java&#xff0c;javac&#xff0c;javadoc&#xff0c;java编译工具&#xff0c;java监测工具等.exe文件都在这里。 include目录: 底层有用c写的东西&#xff0c;这里面包含很多c语言的文件&#xff0c…

Ok, Boomer

目录 一、题目 二、思路 三、payload 3.1 方案一 3.2 方案二 四、思考与总结 一、题目 <!-- Challenge --> <h2 id"boomer">Ok, Boomer.</h2> <script>boomer.innerHTML DOMPurify.sanitize(new URL(location).searchParams.get(boome…

DAM-E3505N以太网口三相400V 100A全参数交流电量采集模块Modbus-TCP协议

品牌&#xff1a;阿尔泰科技 型号&#xff1a;DAM-E3505 简介&#xff1a; DAM-E3505N为三相全参数交流电量采集模块&#xff0c;以太网通讯接口&#xff0c;支持标准Modbus-TCP协议。配备良好的人机交互界面&#xff0c;使用方便&#xff0c;性能稳定。 指标参数&#xff1…

破解 Google 账户注册难题丨0到1学习谷歌广告(1)

立了个flag&#xff0c;连载系列&#xff0c;把主流渠道的0到1细节都写一遍。 做跨境电商&#xff0c;要投谷歌广告&#xff0c;拥有一个Google账户已成为我们不可或缺的一部分。今天&#xff0c;就让我们一起来聊聊如何轻松注册一个属于你自己的Google账户。 为什么需要Googl…

【深度学习入门】深度学习概述

一、什么是人工智能 机器人能够通过“眼睛”看到这个世界&#xff0c;并对这个世界加以理解&#xff0c;最后做出一些决策。因此人工智能具有 感知理解决策 的能力。 人类能够站在食物链顶端的关键是具有学习的能力&#xff0c;这是智能的本质。 简而言之&#xff0c;人工智能就…

【数据结构篇顺序表】算法题

1. 移除元素​https://leetcode.cn/problems/remove-element/description/​sorted-array/description/​ 1.思路 这个题要删除数组中等于 val的元素&#xff0c;然后返回数组中剩余的元素个数 那么肯定是要用到循环的&#xff0c;先给两个指针 l1,l2&#xff0c;开始时l1和…

学网安兴趣最重要

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330#rd 《网安面试指南》http://mp.weixin.qq.com/s?…

Matplotlib-绘图基础

文章目录 一、安装Matplotlib二、基本绘图流程1.创建画布与创建子图2.基本绘图1&#xff09;.绘制线条2).设置线型、线宽格式化字符颜色的缩写 3).设置坐标轴范围4).设置坐标刻度5).设置坐标轴6&#xff09;备注 三、高级绘图1&#xff09;plt对象支持的图类型2&#xff09;散点…

【Linux】——进程概念(万字解读)

一 冯诺依曼体系结构 在此之前&#xff0c;我们先要理解我们计算机的冯诺依曼体系结构&#xff0c;因为是进程的基础 我们所有的操作其实都是基于这样一个模型&#xff0c;比如你在qq上&#xff0c;和别人发送消息&#xff0c;这个消息肯定是先通过输入设备进行输入&#xf…