JS实现一键点击按钮复制文本

简介: 【5月更文挑战第6天】JS实现一键点击按钮复制文本

背景描述

现在有这样一个需求,想要在页面实现点击按钮,一键复制指定列表字段内容的操作,就像这样的效果

image.png

复制成功之后的内容在Notepad++ 粘贴可以看到

image.png

正式列表中链接地址字段的内容,那么如何实现一键点击按钮复制指定列字段内容的操作呢,下面我们来看具体的页面代码实现。

JS代码实现

首先来看页面按钮点击事件对应的方法

image.png

在点击 复制链接 按钮时需要传入您想要复制的字段内容,这里通过 row.url 取值 copylink() 方法内容如下

function copylink(url) {
      var flag = copyText(url);
      if (flag) {
        $.modal.alertSuccess("复制成功!");
      }else {
        $.modal.alertSuccess("复制失败!");
      }
    }

这里我们用到了一个 copyText() 方法,下面来看我们这个方法的详细实现,里面每一行代码我都做了注释,方便阅读

    /**
     * 复制文本到剪贴板
     * @param {string} text 需要被复制的文本
     * @returns {boolean} 如果复制成功返回true,否则返回false
     */
    function copyText(text) {
      // 创建一个隐藏的textarea元素
      var textarea = document.createElement("textarea");
      // 保存当前焦点元素
      var currentFocus = document.activeElement;
      // 将textarea添加到body中
      document.body.appendChild(textarea);
      // 设置textarea的值为传入的文本
      textarea.value = text;
      // 让textarea获得焦点
      textarea.focus();
      // 为textarea设置选择范围,兼容性处理
      if (textarea.setSelectionRange){
        textarea.setSelectionRange(0, textarea.value.length);
      } else {
        textarea.select();
      }
      // 尝试执行复制命令
      try {
        var flag = document.execCommand("copy");
      } catch(eo){
        var flag = false;
      }
      // 移除textarea元素
      document.body.removeChild(textarea);
      // 将焦点返回之前的元素
      currentFocus.focus();
      // 返回复制是否成功
      return flag;
    }

这个代码其实比较容易理解,基本上就是先创建一个隐藏的textarea元素,然后再将传入的文本设置为textarea的值,最后执行复制命令就可以了。大家有需要的可以放心拿去用,这里我已经验证过是好用的。

相关文章
|
3月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
1月前
|
数据采集 存储 监控
实现自动化数据抓取:使用Node.js操控鼠标点击与位置坐标
本文介绍了如何使用Node.js和Puppeteer实现自动化数据抓取,特别是针对新闻网站“澎湃新闻”。通过设置代理IP、User-Agent和Cookie,提高爬虫的效率和隐蔽性,避免被网站封锁。代码示例展示了如何模拟鼠标点击、键盘输入等操作,抓取并整理新闻数据,适用于需要规避IP限制和突破频率限制的场景。
98 10
|
2月前
|
JavaScript
js 特殊文本的判断
js 特殊文本的判断
41 0
|
3月前
|
JavaScript 前端开发
JS判断点击是单击还是双击
如何使用JavaScript判断用户点击是单击还是双击。
47 0
|
4月前
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
|
4月前
|
JavaScript 前端开发
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
43 2
|
4月前
|
JavaScript 前端开发 Java
JavaScript内存泄露大揭秘!你的应用为何频频“爆内存”?点击解锁救星秘籍!
【8月更文挑战第23天】在Web前端开发中,JavaScript是构建动态网页的关键技术。然而,随着应用复杂度增加,内存管理变得至关重要。本文探讨了JavaScript中常见的内存泄露原因,包括意外的全局变量、不当使用的闭包、未清除的定时器、未清理的DOM元素引用及第三方库引发的内存泄露。通过了解这些问题并采取相应措施,开发者可以有效避免内存泄露,提高应用性能。
70 1
|
4月前
|
JavaScript Java
点击按钮,向下添加目录。Java script+jQuery写法
点击按钮,向下添加目录。Java script+jQuery写法
29 1
|
4月前
|
JavaScript Java
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
23 1
|
4月前
|
JavaScript 前端开发
Next js:点击登录显示登录表单,点击注册显示注册表单的功能
本文提供了一个Next.js中使用React状态管理实现点击按钮切换显示登录和注册表单的功能示例,包括创建`authform.tsx`组件和在页面组件中引入使用的方法。