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

【前端】jq复制文本到剪贴板

功能说明:点击“复制”按钮,获取当前点击事件的父级元素(id="block")下子元素(id="textToCopy")下的文本

HTML代码

<div class="chats">  <div class="block">  <div class="layui-col-xs12 layui-col-sm12 layui-col-md12" style="width: 90%; margin: 0.2rem auto; box-sizing:border-box; display:flex;flex-direction:row;">  <!-- 省略部分代码 -->  <div id="textToCopy" style="flex: 0.9; line-height: 0.45rem; margin: 0 0.1rem; background: #F5F5F5; padding: 0.1rem; border-radius:5px">  <p>Hello! It seems like you've entered a string of "nnnn." If you have any questions or need assistance</p>  </div>  </div>  <div class="layui-col-xs12 layui-col-sm12 layui-col-md12">  <a href="javascript:void(0)" class="copy-link">复制</a>  </div>  </div>  <div class="block">  <div class="layui-col-xs12 layui-col-sm12 layui-col-md12" style="width: 90%; margin: 0.2rem auto; box-sizing:border-box; display:flex;flex-direction:row;">  <!-- 省略部分代码 -->  <div id="textToCopy" style="flex: 0.9; line-height: 0.45rem; margin: 0 0.1rem; background: #F5F5F5; padding: 0.1rem; border-radius:5px">  <p>Hello!  please feel free to ask, and I'll be happy to help.</p>  </div>  </div>  <div class="layui-col-xs12 layui-col-sm12 layui-col-md12">  <a href="javascript:void(0)" class="copy-link">复制</a>  </div>  </div>  </div>  

Js代码

    document.addEventListener('DOMContentLoaded', function() {  // 为所有 .block 的父元素添加点击事件监听,使用事件委托处理 .copy-link 的点击  document.querySelector('.chats').addEventListener('click', function(e) {  // 检查点击的元素是否是我们想要的 .copy-link  if (e.target.matches('.copy-link')) {  // 找到点击的 .copy-link 所在的 .block  var block = e.target.closest('.block');  // 在 .block 中找到 #textToCopy(注意:ID应唯一,这里仅为示例)  var textToCopy = block.querySelector('#textToCopy p');  // 获取文本内容  var text = textToCopy.textContent || textToCopy.innerText;  // console.log(text)// 使用navigator.clipboard API进行复制(现代浏览器)  if (navigator.clipboard) {  navigator.clipboard.writeText(text).then(function() {  console.log('复制成功');  }, function(err) {  console.error('复制失败:', err);  });  } else {  // 对于不支持Clipboard API的浏览器,可以使用旧方法(例如创建一个临时的textarea)  var textarea = document.createElement('textarea');  textarea.value = text;  document.body.appendChild(textarea);  textarea.select();  document.execCommand('copy');  document.body.removeChild(textarea);  console.log('已复制到剪贴板');  } }  });  }); 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 25、Wpf之App资源应用
  • OCR技术视角:智能文档管理中的票据自动化识别与处理
  • 医疗机构关于DIP/DRG信息化建设
  • Android ADB抓取APP运行日志(adb logcat -v time)
  • 管理学习(一)马云《赢在中国》创业演讲整理
  • 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题
  • 【Qt】解决设置QPlainTextEdit控件的Tab为4个空格
  • C与汇编之间的相互调用(29)
  • ArcGIS之建模处理栅格数据以表格显示分区统计(以夜间灯光数据为例)
  • C# 基础巩固 详解 匿名方法、lambda表达式和Action关键字
  • 如何在算家云搭建MindSearch(智能搜索)
  • 2024数学建模国赛B题代码
  • 探索非局部均值滤波在椒盐噪声去除中的应用
  • C# 删除Word文档中的段落
  • uniapp写的一个年月日时分秒时间选择功能
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • HTTP中GET与POST的区别 99%的错误认识
  • Iterator 和 for...of 循环
  • JS变量作用域
  • js数组之filter
  • LeetCode算法系列_0891_子序列宽度之和
  • php面试题 汇集2
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • VuePress 静态网站生成
  • windows-nginx-https-本地配置
  • yii2权限控制rbac之rule详细讲解
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 精彩代码 vue.js
  • 面试遇到的一些题
  • 前端面试题总结
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 带你开发类似Pokemon Go的AR游戏
  • 国内开源镜像站点
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​flutter 代码混淆
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (PADS学习)第二章:原理图绘制 第一部分
  • (规划)24届春招和25届暑假实习路线准备规划
  • (已解决)什么是vue导航守卫
  • (转)socket Aio demo
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET Core 中的路径问题
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 使用 XPath 来读写 XML 文件
  • .NET 事件模型教程(二)