Clipboard.js实现复制文本到剪贴板功能

news2024/11/18 22:43:48

一、Clipboard.js简介

Clipboard.js是一个轻量级的实现复制文本到剪贴板功能的JavaScript插件,该插件可以将输入框,文本域,DOM节点元素中的文本内容复制到剪贴板中。
官网地址:Clipboard.js
浏览器兼容性:兼容Chrome、Firefox、Opera、Safari、IE9+

二、Clipboard.js安装

2.1、NPM安装

你可以在 npm 上获取它:
npm install clipboard --save

2.2、ZIP安装

如果您不喜欢包管理,只需下载ZIP文件即可:Clipboard.js的ZIP文件。

三、使用Clipboard.js

3.1、在页面引入clipboard.js

<script src="js/node_modules/clipboard/dist/clipboard.js" type="text/javascript"></script>

现在,你需要通过传递 DOM 选择器、HTML 元素或 HTML 元素列表来实例化它。

3.2、从元素属性复制文本

事实是,您甚至不需要其他元素来复制其内容。您可以只在 trigger 元素中包含一个属性:data-clipboard-text。

<a href="javascript:;" class="btn" id="copyBtn" data-clipboard-text="复制测试内容">复制</a>

3.2.1、执行JS事件

<script type="text/javascript">
    let isCompatible = ClipboardJS.isSupported();//--------这句为:是否兼容
    if (isCompatible) {
        let clipboard = new ClipboardJS('#copyBtn');
        clipboard.on('success', function (e) {
            console.log(e.text);
            $('#bar').val(e.text);
            console.log("文本已经复制到剪贴板!");
        });
        clipboard.on('error', function (e) {
            let cpoy_text = e.text;
            if (!cpoy_text) {
                alert("需要复制或剪切的内容为空!");
            }
        });
    }
</script>

3.2.2、执行JS事件效果

执行效果

3.3、从其他元素剪切文本

此外,您还可以定义一个属性来指定是否要 或 content。data-clipboard-actioncopycut;如果省略此属性,则默认使用:copy

3.2.1、HTML代码

<textarea name="" id="bar"></textarea>
<a href="javascript:;" class="btn" id="copyBtn" data-clipboard-action="cut" data-clipboard-target="#bar">复制</a>

3.3.2、执行JS事件

<script type="text/javascript">
    let isCompatible = ClipboardJS.isSupported();//--------这句为:是否兼容
    if (isCompatible) {
        let clipboard = new ClipboardJS('#copyBtn');
        clipboard.on('success', function (e) {
            console.log(e.text);
            $('#bar').val(e.text);
            console.log("文本已经复制到剪贴板!");
        });
        clipboard.on('error', function (e) {
            let cpoy_text = e.text;
            if (!cpoy_text) {
                alert("需要复制或剪切的内容为空!");
            }
        });
    }
</script>

3.3.3、执行JS事件效果

执行效果

3.4、以下是完整的HTML代码

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Clipboard.js实现复制文本到剪贴板功能</title>
    <script src="js/node_modules/jquery/dist/jquery.js" type="text/javascript"></script>
    <script src="js/node_modules/clipboard/dist/clipboard.js" type="text/javascript"></script>
</head>

<body>
    <!-- 从其他元素剪切文本 -->
    <textarea name="" id="bar"></textarea>
    <a href="javascript:;" class="btn" id="copyBtn" data-clipboard-action="cut" data-clipboard-target="#bar">复制</a>

    <!-- 从元素属性复制文本 -->
    <a href="javascript:;" class="btn" id="copyBtn" data-clipboard-text="复制测试内容">复制</a>
    <textarea name="" id="bar"></textarea>


</body>

</html>
<script type="text/javascript">
    let isCompatible = ClipboardJS.isSupported();//--------这句为:是否兼容
    if (isCompatible) {
        let clipboard = new ClipboardJS('#copyBtn');
        clipboard.on('success', function (e) {
            console.log(e.text);
            $('#bar').val(e.text);
            console.log("文本已经复制到剪贴板!");
        });
        clipboard.on('error', function (e) {
            let cpoy_text = e.text;
            if (!cpoy_text) {
                alert("需要复制或剪切的内容为空!");
            }
        });
    }
</script>

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

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

相关文章

第100+26步 ChatGPT学习:概率校准 Bayesian Binning into Quantiles

基于Python 3.9版本演示 一、写在前面 最近看了一篇在Lancet子刊《eClinicalMedicine》上发表的机器学习分类的文章&#xff1a;《Development of a novel dementia risk prediction model in the general population: A large, longitudinal, population-based machine-learn…

Kubernetes从零到精通(16-扩展-CRD、Custom Controller)

目录 一、简介 二、CRD 1.CRD介绍 2.CRD工作流程 三、Custom Controller 1.Custom Controller介绍 2.Custom Controller工作流程 四、示例 1.创建CR 2.配置权限RBAC 3.创建Custom Controller 3.1 Go项目初始化 3.2 main.go编写 3.3 构建镜像 3.4 部署Controller…

BaseCTF2024 个人WP

Pwn&#xff1a; [Week1] 签个到吧&#xff1a; 直接nc&#xff0c;ls&#xff0c;cat flag [Week1] echo&#xff1a; 只能使用echo命令 那就用echo *代替ls输出当前目录所有文件 用echo $(<flag)输出flag [Week1] Ret2text&#xff1a; 简单的栈溢出 from pwn impo…

10分钟,AI如何精准写出社会热点文?一篇爆款文章的背后你敢信?

本文背景 很多小伙伴们反馈&#xff0c;用AI输出的文章经常被平台判定为“疑似AI创作”&#xff0c;一但被判定&#xff0c;系统就不会给推荐流量。 到底在这个充斥着AI的大环境下&#xff0c;应该怎样完成AI文章的写作呢&#xff1f;特别是做流量主项目的小伙伴们&#xff0c;…

golang web笔记-3.响应ResponseWriter

简介 从服务器向客户端返回响应需要使用 ResponseWriter&#xff0c;ResponseWriter是一个接口&#xff0c;handler用它来返回响应。 ResponseWriter常用方法 Write&#xff1a;接收一个byte切片作为参数&#xff0c;然后把它写入到响应的body中。如果Write被调用时&a…

linux conda 安装 配置

linux conda 安装 配置 1. 下载2. 安装3. 配置&#xff08;针对非root用户&#xff0c;当前用户&#xff09; 1. 下载 网址&#xff1a;https://docs.anaconda.com/miniconda/ 下载一个.sh文件 2. 安装 命令&#xff1a;sh Miniconda3-latest-Linux-x86_64.sh 按照提示回车/…

【数据结构】什么是平衡二叉搜索树(AVL树)?

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 &#x1f4cc;AVL树的概念 &#x1f4cc;AVL树的操作 &#x1f38f;AVL树的插入操作 ↩️右单旋 ↩️↪️右左双旋 ↪️↩️左右双旋 ↪️左单旋 &#x1f38f;AVL树的删…

利用AI十分钟制作视频,暴涨4.7w粉丝,小白也能月入过万

今天给大家展示的项目是&#xff1a;AI动漫人物封面。 先来看一下教程方的广告&#xff1a; 蓝海赛道、AI翻唱 一周内获得了4.7万个粉丝&#xff0c;小白也可以轻松上手&#xff0c;月入过万手拿把掐。 现在利用AI创作 动漫 IP 翻唱音乐在全网悄然增多&#xff0c;流量也非常…

女性向游戏的新战场:AI陪伴系统

在数字化时代&#xff0c;游戏不再只是简单的娱乐产品&#xff0c;而是成为了人们情感寄托的重要载体。特别是对于女性玩家来说&#xff0c;游戏不仅仅是一种消遣&#xff0c;更是一种情感体验。近年来&#xff0c;女性向游戏市场逐渐崛起&#xff0c;其中“陪伴系统”成为了一…

【LeetCode】动态规划—931. 下降路径最小和(附完整Python/C++代码)

动态规划—931. 下降路径最小和 前言题目描述基本思路1. 问题定义2. 理解问题和递推关系3. 解决方法3.1 动态规划方法3.2 空间优化的动态规划 4. 进一步优化4.1 空间复杂度优化 5. 小总结 代码实现Python3代码实现Python 代码解释C代码实现C 代码解释 总结: 前言 在算法的学习…

985官宣:19名本科生,获国自然项目!

9月24日&#xff0c;据复旦大学教务处消息&#xff0c;国家自然科学基金委公布了2024年国家自然科学基金青年学生基础研究项目&#xff08;本科生&#xff09;立项情况&#xff0c;复旦大学共有19名基础学科专业本科生获得国家自然科学基金委资助。 此前&#xff0c;据武汉大学…

VBA技术资料MF207:右键录入指定范围数据

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

比较器(算法中排序)

方式一&#xff1a;不常用 让实体类实现Comparable接口&#xff0c;泛型是需要比较的类型&#xff0c;同时重写compareTo方法 缺点&#xff1a;对代码有侵入性。 public class Student implements Comparable<Student> {private String name;private double score;// …

【YOLOv10改进[SPPF]】使用 SPPFCSPC替换SPPF模块 + 含全部代码和详细修改方式

本文将进行在YOLOv10中使用SPPFCSPC魔改v10 的实践,文中含全部代码、详细修改方式。助您轻松理解改进的方法。 改进前和改进后的参数对比如下: 目录 一 SPPFCSPC 二 使用SPPFCSPC魔改v10的实践 1 整体修改 ① 添加SPPCSPC.py文件 ② 修改ultralytics/nn/tasks.py文件

java中使用selenium自动化测试

一、查看你Chrome浏览器的版本 在浏览器的地址栏&#xff0c;输入chrome://version/&#xff0c;回车后即可查看到对应版本 二、找到对应的chromedriver版本 2.1 114及之前的版本可以通过点击下载chromedriver,根据版本号&#xff08;只看大版本&#xff09;下载对应文件 2.…

运维监控平台:监控易如何实现运维高效管理与大规模监控

在快速变化的数字时代&#xff0c;运维团队正面临着前所未有的挑战。随着企业规模的扩大和IT架构的复杂化&#xff0c;运维团队需要管理的设备数量激增&#xff0c;对系统的稳定性和扩展性提出了更高要求。在这样的背景下&#xff0c;如何高效地进行设备监控&#xff0c;确保系…

pdf分割成多个文件怎么弄?这6个技巧教您学会pdf分割,一看就会!

pdf分割成多个文件怎么弄pdf文件分割成多个文件的需求在办公场景中非常常见。您是否也曾为处理含有多个页面的pdf文件而感到烦恼&#xff1f;不用担心&#xff01;在这篇文章中&#xff0c;小编将和大家分享六个简单易懂的技巧&#xff0c;教您如何轻松将pdf拆分成一页一页的单…

本省第一所!新大学,揭牌!

9月26日&#xff0c;海南艺术职业学院举行揭牌仪式&#xff0c;标志着海南省第一所公办艺术类高等职业院校正式揭牌成立。海南省旅文厅党组成员、副厅长刘成出席揭牌仪式&#xff0c;省教育厅党组成员、副厅长邢孔政在揭牌仪式上宣读省人民政府同意设立海南艺术职业学院的批复。…

【操作系统】三、内存管理:1.存储器管理(程序装入与链接;逻辑地址与物理地址空间;内存保护;交换与覆盖;分页管理方式;分段管理方式;段页式管理方式)

三、内存管理 文章目录 三、内存管理内存基础知识1.分类1.1按在计算机中的作用&#xff08;层次&#xff09;1.2按存储介质1.3按存取方式1.4按信息的可更改性1.5按信息的可保存性 2.存储器的性能指标 六、存储器管理&#xff08;内存管理基础&#xff09;0.内存保护1.程序到程序…