首页 > 编程语言 >JavaScript复制内容到剪切板

JavaScript复制内容到剪切板

时间:2023-06-06 21:14:49浏览次数:37  
标签:style 元素 JavaScript element 复制 剪切板 document

 复制内容到剪切板分两种情况,一种是从页面已有的可选元素中选中内容进行复制,一种是将Javascript代码中的字符串直接复制到剪切板。
复制页面元素选中内容

        html代码:

      <input type="textarea" id="txt" />
      <button onclick="copy()">复制</button>

        Javascript代码:

            function copy() {
                var element = document.getElementById("txt");
                element.select();
                element.setSelectionRange(0, element.value.length);
                document.execCommand('copy');
                alert("已复制到剪切板");
            }

复制字符串到剪切板

        复制字符串采用临时添加一个元素,模拟选中内容进行选中的方式进行复制,复制后移除临时添加的元素即可。

        Javascript代码:

            //复制文本
            function copyText(text) {
                var element = createElement(text);
                element.select();
                element.setSelectionRange(0, element.value.length);
                document.execCommand('copy');
                element.remove();
                alert("已复制到剪切板");
            }
     
            //创建临时的输入框元素
            function createElement(text) {
                var isRTL = document.documentElement.getAttribute('dir') === 'rtl';
                var element = document.createElement('textarea');
                // 防止在ios中产生缩放效果
                element.style.fontSize = '12pt';
                // 重置盒模型
                element.style.border = '0';
                element.style.padding = '0';
                element.style.margin = '0';
                // 将元素移到屏幕外
                element.style.position = 'absolute';
                element.style[isRTL ? 'right' : 'left'] = '-9999px';
                // 移动元素到页面底部
                let yPosition = window.pageYOffset || document.documentElement.scrollTop;
                element.style.top = `${yPosition}px`;
                //设置元素只读
                element.setAttribute('readonly', '');
                element.value = text;
                document.body.appendChild(element);
                return element;
            }


标签:style,元素,JavaScript,element,复制,剪切板,document
From: https://www.cnblogs.com/qigege/p/17461710.html

相关文章

  • 记录--你真的能区分JavaScript的各种导入导出方式吗?
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言......
  • KingbaseES V8R6 几种不同的表复制方式
    前言当数据库遇到未知问题,有时候无法入手分析,在非生产数据库或者征得客户同意获得特殊时间,需要重建表解决,下面提供了多种不同的复制表的方法,我们了解一下他们的差异。测试1、CREATETABLEASSELECT语句用于复制表结构和数据,但是不会复制索引。我们可以使用以下语句基于t1......
  • C++类构造函数、拷贝构造函数、复制构造函数、复制构造函数、构造函数显示调用和隐式
    一、构造函数是干什么的 1.2.{3.public:4.//类Counter的构造函数5.//特点:以类名作为函数名,无返回类型6.Counter()7.{8.0;9.}10.private:11.//数据成员12.intm_value;13.}      该类对......
  • javascript笔记
    javascript笔记获得焦点onfocus,失去焦点onblurisNaN()判断是非数字undefined和数字相加最后的结果是NaNnull和数字相加最后的结果是数字typeof空格变量名或typeof(变量名)可以检测变量的类型parseInt('120.8px')最后的结果是120->数字;自动去掉px......
  • TypeScript Vs JavaScript 区别
    一、观察1.JS平常的复制类型letval;val=123;val="123";val=true;val=[1,3,5];注意点:由于JS是弱类型的,所以只要定义了一个变量,就可以往这个变量中存储任意类型的数据也正是因为如此,所以会给我们带来一个问题2.假设a是一个数组,b是一个数值func......
  • 记录--JavaScript 中有趣的 9 个常用编码套路
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助1️⃣set对象:数组快速去重常规情况下,我们想要筛选唯一值,一般会想到遍历数组然后逐个对比,或者使用成熟的库比如lodash之类的。不过,ES6带来了一个新玩意儿!它引入了一个全新的对象类型:Set!而且,如果结合上...展开运算符......
  • 详解JavaScript中的__proto__和prototype
    目录一、JS的对象创建方法二、双对象法则三、__proto__和prototypeprototype是什么?__proto__又是什么?对于JS来说,__proto__和prototype的区别是个绕不开的话题。本文就试图从它们的根本上说清楚它们是什么,又有什么区别,所以本文会从JS的对象开始说起,以其期待把本文的主题......
  • Javascript之深入浅出递归思想
    Javascript之深入浅出递归思想 “递归”在生活中的一个典例就是“问路”。如图小哥哥进入电影院后找不到自己的座位,问身边的小姐姐“这是第几排”,小姐姐也不清楚便依次向前询问,问至第一排的观众后依次向后反馈结果,“我是第一排”,“我是第二排”,···,最终确定自己座位所在排数......
  • 【JavaScript】想在JS中使用换行符,我该怎么操作呢?
    使用'\n'换行,而不是'\n'注意前后空格实战demo:$('#text').val('hello'+'\n'+'world');......
  • 【JavaScript】setTimeout 和 setInterval 小记
    项目setTimeoutsetInterval名称一次性定时器循环定时器相同在规定延迟时间再执行某个操作在规定延迟时间再执行某个操作区别只能定时一次可以一直循环执行下去......