使用

npm install xl_copy   // 项目中安装
import clipboard form 'xl_copy'  // 引用
element.onclick = ()=>{
    clipboard('test')  // 复制 test
}

1、介绍

利用原生 js 写一个简单到复制到剪切板工具

点击按钮,实现复制文本到剪切板

用函数形式直接调用

2、知识梳理

1.createTextRange() 方法

IE 似乎不支持

2.createRange()

都不支持

3.setSelectionRange(start,end,diraction)      方法可用

选中 html 元素的内容。实现选取 ( inputElemnt 方法 )

适用于含有 value 属性到 html 原生,如 input 等

三个参数:开始位置,结束位置,方向

4.select()  方法可用

用于选中 textarea / input 的所有内容

inputElement.select()

5.document.execCommand(commandName,defaultUI,argument)

copy : 复制选中内容到剪切板,存在兼容问题

cut : 剪切内容到剪切板,存在兼容问题

3、代码实现

利用 select() 方法和 document.execCommand() 来实现

export function clipboard(text) {
let inputElement = document.createElement('input');
inputElement.value = text;
document.body.appendChild(inputElement)
inputElement.select()
document.execCommand('copy', true);
inputElement.parentNode.removeChild(inputElement)
}

  

4、npm 包使用

npm install xl_copy

import clipboard form 'xl_copy'
element.onclick = ()=>{
clipboard('test') // 复制 test
}

  

想了解更多,想知道更多精华,看看我的博客吧   https://gilea.cn/

https://www.cnblogs.com/jiebba

js 最简单的实现复制到剪切板 xl_copy的更多相关文章

  1. clipboard.js 实现动态获取内容并复制到剪切板

    使用clipboard.js分为以下几个步骤: 1.引入一个clipboard.js的文件: 2.新建一个clipboard对象: 3.点击按钮获取目标对象里面的内容,将其复制到剪切板. 注意:1.目 ...

  2. 复制到剪切板js代码(转)

    <script type="text/javascript" language="javascript"> //复制到剪切板js代码 functio ...

  3. web复制到剪切板js

    web复制到剪切板 clipboard.js 好使!开源项目,下载地址: https://github.com/zenorocha/clipboard.js 使用方法: 引入 clipboard.mi ...

  4. jquery实现点击复制到剪切板

    1.必须有先引入 jquery库 <script type="text/javascript" src="js/jquery.js"></sc ...

  5. ZeroClipboard插件——复制到剪切板

    ZeroClipboard是一个轻量级的jQuery“复制到剪贴板”插件采用了时下流行的零剪贴板库.官网:http://www.steamdev.com/zclip 参数及默认值path(必选)  Z ...

  6. ZeroClipboard插件,复制到剪切板

    发现一个复制到剪切板的插件:ZeroClipboard插件.挺好用,用法如下: 头部引用: <script type="text/javascript" src=" ...

  7. js-将文本复制到剪切板

    // 将文本复制到剪切板 var clipboard2 = new ClipboardJS('.add_wx_guide_float', { text: function(trigger) { ret ...

  8. Flash10下复制到剪切板的一种新方法

    web开发中常常要实现“复制到剪切板”功能.这个功能很实用,但是由于安全问题,浏览器的限制越来越严,实现的方法也越来越有限了.Firefox默认下不能直接通过Javascript操作剪切板,必须开启相 ...

  9. 原创:用VBA实现将鼠标选择的单元格按照指定格式合并并复制到剪切板

    原创:用VBA实现将鼠标选择的单元格按照指定格式合并并复制到剪切板 一.主要实现以下功能:1.用鼠标选择单元格(可谓连续单元格,也可为不连续的)后,按照要求格式“证件号码:+选定内容+“,”+”选定内 ...

随机推荐

  1. 题解报告:hdu 1061 Rightmost Digit(快速幂取模)

    Problem Description Given a positive integer N, you should output the most right digit of N^N. Input ...

  2. java大数轻松过

    import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(S ...

  3. 409 Longest Palindrome 最长回文串

    给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串.在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串.注意:假设字符串的长度不会超过 ...

  4. 407 Trapping Rain Water II 接雨水 II

    给定一个m x n的矩阵,其中的值均为正整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水.说明:m 和 n 都是小于110的整数.每一个单位的高度都大于0 且小于 20000. ...

  5. 关于Pyhton多线程同步队列的应用

    ''' 同步队列 put方法和task_done方法, queue有一个未完成任务数量num,put依次num+1, task依次num-1.任务都完成时任务结束. 1.创建一个 Queue.Queu ...

  6. 弹性分布式数据集(RDD)

    spark围绕弹性分布式数据集(RDD)的概念展开的,RDD是一个可以并行操作的容错集合. 创建RDD的方法: 1.并行化集合(并行化驱动程序中现有的集合) 调用SparkContext的parall ...

  7. org.springframework.data.repository.config.RepositoryConfigurationSource.getAttribute(Ljava/lang/String;)Ljava/util/Optional;

    升级springboot到2.0时,碰到了一大堆问题,上面异常原因是jar版本冲突了,有的模块忘记更新版本了,统一一下版本就可以了

  8. ViewPager与fragment详解链接

    http://blog.csdn.net/harvic880925/article/details/38453725, http://blog.csdn.net/mwj_88/article/deta ...

  9. STL++?pb_ds平板电视初步探索

    什么是pb_ds? 除了众所周知的STL库,c++还自带了ext库(应该可以这么叫吧),其中有用pb_ds命名的名称空间(俗称平板电视).这个名称空间下有四个数据类型结构.这些都是鲜为人知的.经过测试 ...

  10. eclipse 中常用快捷键

    * 字母大小写转换 ctrl+shift+x   转为大写 ctrl+shift+y   转为小写 * eclipse 自动生成对象来接收方法的返回值的快捷键 说明:光标一定要定位到要自动生成返回值对 ...