当前位置: 首页 > news >正文

js通过按钮直接把input或者textarea里的值复制到粘贴板里

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

function copyToClipboard(elem) {
    // create hidden text element, if it doesn't already exist
    var targetId = "_hiddenCopyText_";
    var isInput = elem.tagName === "INPUT" || elem.tagName === "TEXTAREA";
    var origSelectionStart, origSelectionEnd;
    if (isInput) {
        // can just use the original source element for the selection and copy
        target = elem;
        origSelectionStart = elem.selectionStart;
        origSelectionEnd = elem.selectionEnd;
    } else {
        // must use a temporary form element for the selection and copy
        target = document.getElementById(targetId);
        if (!target) {
            var target = document.createElement("textarea");
            target.style.position = "absolute";
            target.style.left = "-9999px";
            target.style.top = "0";
            target.id = targetId;
            document.body.appendChild(target);
        }
        target.textContent = elem.textContent;
    }
    // select the content
    var currentFocus = document.activeElement;
    target.focus();
    target.setSelectionRange(0, target.value.length);
 
    // copy the selection
    var succeed;
    try {
        succeed = document.execCommand("copy");
    } catch(e) {
        succeed = false;
    }
    // restore original focus
    if (currentFocus && typeof currentFocus.focus === "function") {
        currentFocus.focus();
    }
 
    if (isInput) {
        // restore prior selection
        elem.setSelectionRange(origSelectionStart, origSelectionEnd);
    } else {
        // clear temporary content
        target.textContent = "";
    }
    return succeed;
}
 
//我们可以这样直接调用这个方法:
 
//copyToClipboard(document.getElementById("name"));

 

转载于:https://my.oschina.net/u/2552286/blog/1572269

相关文章:

  • SpringBoot基础篇配置信息之多环境配置信息
  • Horizon for NSX 服务安装包
  • bootstrap-带下拉菜单的标签页
  • 再下一城:Google 成为 Safari 默认搜索引擎
  • Centos 系统引导损坏修复、密码破解与加密
  • nodejs入门01——第一次给了nodejs
  • WPF C# 多屏情况下,实现窗体显示到指定的屏幕内
  • TCP三次握手和四次挥手以及11种状态
  • 导航栏的隐藏问题
  • PostgreSQL 数据库导入导出操作
  • 20181016提高测试
  • QPS的计算方法
  • 网站服务器部署及优化---1---LAMP环境搭建(rhel6.5)
  • C语言精要(第二章:基本数据类型)
  • Linux实现Cisco风格ACL之空想
  • 【RocksDB】TransactionDB源码分析
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • CSS3 变换
  • es6--symbol
  • JavaScript 基础知识 - 入门篇(一)
  • JavaScript新鲜事·第5期
  • passportjs 源码分析
  • Spring Cloud Feign的两种使用姿势
  • Swoft 源码剖析 - 代码自动更新机制
  • 订阅Forge Viewer所有的事件
  • 反思总结然后整装待发
  • 浮动相关
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 记录一下第一次使用npm
  • 警报:线上事故之CountDownLatch的威力
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 前端知识点整理(待续)
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 入门到放弃node系列之Hello Word篇
  • 06-01 点餐小程序前台界面搭建
  • Java总结 - String - 这篇请使劲喷我
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • #QT(串口助手-界面)
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (3)nginx 配置(nginx.conf)
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (三) diretfbrc详解
  • ***检测工具之RKHunter AIDE
  • .gitignore
  • .NET Core 2.1路线图
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET HttpWebRequest、WebClient、HttpClient
  • .Net Redis的秒杀Dome和异步执行
  • .NET/C# 使用 SpanT 为字符串处理提升性能