在实际应用中,我们经常看到这样一种效果:就是单击一个按钮,就将某个区域内的内容,复制到了剪切板中。其实这个功能实现起来也不难,核心就是用到了window子对象clipboardData的一个方法:setData(),直接上代码:

<div id="copyTarget">我是你要复制的目标
</div>
<button id="btnCopy">点击我复制目标文本</button><script>document.getElementById('btnCopy').on('click', function () {var text = document.getElementById('copyTarget').innerText;clipboardData.setData("text", text);   //第一个参数是复制内容的格式,第二个参数是要复制的内容console.log('复制成功了');})
</script>

clipboardData这个方法很方便,它还支持了clearData(sDataFormat) 删除剪贴板中指定格式的数据和getData(sDataFormat) 从剪贴板获取指定格式的数据两种方法,但是,用过这个方法的人都应该知道,这种方法在chrome浏览器不起任何作用,那么在chrome浏览器中我们该怎么办呢?请看下面的代码:

<div id="copyTarget">我是你要复制的目标
</div>
<!-- 这里需要用一个textarea或者input框来接收要复制的目标值,因为方法中的selec()属性是不支持其他标签 -->
<!-- 我们可以用一个样式讲接收的容器隐藏起来 -->
<textarea id="inputBox" style="position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;"></textarea>
<button id="btnCopy">点击我复制目标文本</button><script>document.getElementById('btnCopy').on('click', function () {var copyTarget = document.getElementsById('copyTarget');var copyBox = document.getElementById('inputBox');copyBox.value = copyTarget.innerText;copyBox.select();document.execCommand('copy');console.log('复制成功');})
</script>

JS实现点击复制目标内容相关推荐

  1. 【前端技巧】实现点击复制文本内容方法

    /*** 点击复制文本内容* * @param {String} content * * @author Outman* @date 2022-10-27*/ // [旧]利用inputElement ...

  2. 移动端js实现点击复制到剪贴板,【真正】兼容所有浏览器uc、qq、微信、手机自带等浏览器...

    移动端js实现点击复制到剪贴板,带提示,[真正]兼容所有浏览器,包括安卓和ios及uc.qq.微信.手机自带等浏览器. github,欢迎star: https://github.com/majian ...

  3. Clipboard.js 实现点击复制

    在开发过程中难免会遇到点击分享的需求,这里有两种实现方式: 第一种: 通过原生js 的方法用(存在兼容性): document.execCommand( aCommandName, aShowDefa ...

  4. vue中实现点击复制文本内容之clipboard

    项目中有些场景需要点击复制某段内容并粘贴的功能 如点击复制名称,订单号,文章段落等 需要先安装 引入 使用对应的方法 1.安装 npm install clipboard --save 2.引入 直接 ...

  5. 通过JS实现点击复制页面表格到Excel

    本文基于react项目实现. 起因 接了一个需求,要求实现点击页面上的一个按钮,复制某个表格数据,然后ctrl+V到Excel表格中. 思考 其实我觉着这个功能用导出Excel的方式实现不就好了么.不 ...

  6. 点击复制input内容

    function copyToClipboard() {var Url2 = document.getElementById("tuijianlianjie");Url2.sele ...

  7. js实现点击复制链接功能

    像这种复制链接的功能一般我们把他放在utils文件中. 代码如下: // 文本复制 export function copyText(value) { return new Promise((reso ...

  8. 移动端js实现点击复制到剪贴板,【真正】兼容所有浏览器uc、qq、微信、手机自带等浏览器

    查看demo 前言:在移动端上经常会遇到这样的需求,第一种就是点击复制当前页面的链接,第二种就是类似卡券的功能,需要复制密码等,之前需求太紧急,基本上都使用了clipboard.js ,使用方法也很简 ...

  9. HTML 鼠标点击复制元素内容

    Intro 效果展示 方法封装 copyInnerTextOfCell = (event) => {let innerText = event.target.innerText;var tmpI ...

最新文章

  1. itoa函数和atoi函数
  2. 面试 -- 多线程( 一) -- 基础
  3. 解密PreAngel区块链布局:平台协议类项目占4成,多个项目蓄势待发
  4. 十三、深入Python字典和集合
  5. Qt5.12过时的类
  6. 第七章 二叉搜索树(b1)BST:查找
  7. nano-pc-t1 4412 显示驱动分析
  8. Spring4.x整合Axis1.4发布WebService服务
  9. sci的figure怎么做_如何制作科技论文中的Figure
  10. Linux基础(十一)--Linux文件查找命令Find详解
  11. 静态成员函数运用在CALLBACK函数和线程函数中《转载》
  12. 支持access的php框架,NginX友好的PHP框架
  13. android向web提交数据,中文乱码
  14. 等保与ISO27001
  15. 华钜同创:各大卖家提前备货万圣节,再不准备就晚啦!
  16. 一篇读懂自动驾驶汽车决策层算法的新思路
  17. python selenium高级教程_selenium(python)教程
  18. Spring搭建:log4j的配置
  19. 大数据产业链和生态图谱
  20. 双色球规则:双色球每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球从1—33中随机生成6个不重复的号码;蓝色球号码从1—16中随机生成1个;客户通过键盘录入购买的红色球6个(不重复)和蓝色

热门文章

  1. 用DotNetOpenAuth实现基于OAuth 2.0的web api授权 (一)Getting Start
  2. 转:在ubuntu下将dmg文件转化为iso格式
  3. Linux里常见术语的缩写
  4. 使用HttpModule实现多个域名分别“绑定”到子目录
  5. Zabbix 通过 API 监控 k8s | 技巧
  6. 1 常用Windows命令大全
  7. Win10进不去系统怎么办? 不重装就能修复系统必备技能
  8. Excel中如何引用 「文件名」、「sheet 页」的名字
  9. 缓存穿透、缓存雪崩、缓存击穿的原因及解决方案
  10. 【火炉炼AI】深度学习008-Keras解决多分类问题