博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何使用JavaScript将文本复制到剪贴板?
阅读量:4116 次
发布时间:2019-05-25

本文共 1230 字,大约阅读时间需要 4 分钟。

原文 | https://www.ibrahima-ndaw.com/blog/how-to-copy-text-to-clipboard-in-javascript/

翻译 | web前端开发(ID:web_qdkf)

作为一个开发人员,我们知道在代码块旁边放一个“复制”按钮有很多好处。并且在某些情况下,它对提高我们网站的可用性有很大的帮助。

在本文中,我们将只用几行JavaScript文本复制到剪贴板。

为了使大家更容易理解,我将使用Tailwind CSS设置应用程序的样式,并使所有内容看起来都不错。

因此,对于HTML部分,这将非常简单(Tailwind CSS添加的一堆类除外)。

在这里,有3个重要的地方需要注意:

  • 输入标签的ID copyMe

  • copyMeOnClipboard()按钮标签的功能

  • 该p标签

该ID copyMe将帮助我们访问用户输入的值。当用户单击Copy按钮时,它将触发该copyMeOnClipboard()方法,该方法将处理副本并使用JavaScript动态显示成功消息。

话虽如此,我们非常在可以移至JS文件并进行最后的修饰。

JavaScript

const copyText = document.querySelector("#copyMe")const showText = document.querySelector("p")const copyMeOnClipboard = () => {  copyText.select()  copyText.setSelectionRange(0, 99999) // used for mobile phonedocument.execCommand("copy")  showText.innerHTML = `${copyText.value} is copied`  setTimeout(() => {    showText.innerHTML = ""  }, 1000)}

如上所见,我们首先选择所需的元素copyText和showText。它分别是输入和段落标签。然后,我们使用该copyMeOnClipboard()函数来处理逻辑。

该copyText元素(记住它的输入标签)为我们提供了访问select()方法和你可能已经猜到它选择输入文本字段的内容。

最后,我们使用复制命令,document.execCommand("copy")并在剪贴板上获取文本。

现在,我们已经完成了,但是我们仍然可以通过向用户显示成功消息来对其进行一些改进。这很容易,因为我们已经有了showText元素。我们唯一要做的就是将成功消息附加到,innerHTML并在1秒后将其删除setTimeout()。

最后,感谢你的阅读。

转载地址:http://kxfpi.baihongyu.com/

你可能感兴趣的文章
HBASE安装和简单测试
查看>>
关于程序员的59条搞笑但却真实无比的编程语录
查看>>
搞笑--一篇有趣的文章编译自一篇西班牙博客。有一位美丽的公主,被关押在一个城堡中最高的塔上,一条凶恶的巨龙看守着她,需要有一位勇士营救她…
查看>>
非常不错 Hadoop 的HDFS (Hadoop集群(第8期)_HDFS初探之旅)
查看>>
Tomcat启动错误,端口占用
查看>>
laravel 修改api返回默认的异常处理
查看>>
高德坐标转换百度坐标 javascript
查看>>
tp5封装通用的修改某列值
查看>>
laravel控制器与模型名称不统一
查看>>
vue登录拦截
查看>>
npm配置淘宝镜像仓库以及electron镜像
查看>>
linux设置开机自启动脚本的最佳方式
查看>>
VUE SPA 单页面应用 微信oauth网页授权
查看>>
phpstorm 集成 xdebug 进行调试
查看>>
npm和node升级的正确方式
查看>>
laravel事务
查看>>
springcloud 连续请求 500
查看>>
vue复用新增和编辑表单
查看>>
Ubuntu 16.04 apt-get更换为国内阿里云源
查看>>
laravel部署到宝塔步骤
查看>>