最近遇到一个需求,需要点击按钮,复制 <p> 标签中的文本到剪切板
之前做过复制输入框的内容,原以为差不多,结果发现根本行不通
尝试了各种办法,最后使了个障眼法,实现了下面的效果
一、原理分析
浏览器提供了 copy 命令 ,可以复制选中的内容
document.execCommand("copy")
如果是输入框,可以通过 select() 方法,选中输入框的文本,然后调用 copy 命令,将文本复制到剪切板
但是 select() 方法只对 <input> 和 <textarea> 有效,对于 <p> 就不好使
最后我的解决方案是,在页面中添加一个 <textarea>,然后把它隐藏掉
点击按钮的时候,先把 <textarea> 的 value 改为 <p> 的 innerText,然后复制 <textarea> 中的内容
二、代码实现
HTML 部分
<style type="text/css"> .wrapper {position: relative;} #input {position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;} </style> <div class="wrapper"> <p id="text">我把你当兄弟你却想着复制我?</p> <textarea id="input">这是幕后黑手</textarea> <button onclick="copyText()">copy</button> </div>
JS 部分
<script type="text/javascript"> function copyText() { var text = document.getElementById("text").innerText; var input = document.getElementById("input"); input.value = text; // 修改文本框的内容 input.select(); // 选中文本 document.execCommand("copy"); // 执行浏览器复制命令 alert("复制成功"); } </script>
亲测,Firefox 48.0,Chrome 60.0,IE 8 都能用
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍vue实现点击按钮下载文件功能,包括了vue实现点击按钮下载文件功能的使用技巧和注意事项,需要的朋友参考一下 项目中需要用到文件下载功能,查了资料发现需要用到a标签的特性,但是这边需要用到点击按钮下载,懒得写样式,于是用了以下代码. 在el-button的外面套了一层el-link,如下图,可以正常下载 以下是el-link文字链接的属性 总结 以上所述是小编给大家介绍的vue实现点
本文向大家介绍原生js实现点击按钮复制内容到剪切板,包括了原生js实现点击按钮复制内容到剪切板的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js点击按钮复制内容到剪切板的具体代码,供大家参考,具体内容如下 效果图 上代码 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍JS实现复制功能,包括了JS实现复制功能的使用技巧和注意事项,需要的朋友参考一下 效果图: 代码如下: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
本文向大家介绍Android实现按钮点击效果,包括了Android实现按钮点击效果的使用技巧和注意事项,需要的朋友参考一下 1、首先创建一个按钮 2、1中创建的按钮的background用到了btn_st,在drawable下创建btn_st 3、在2中用到的color1和color2,在values的strings中添加 4、java代码 (1)首先获取button Button click
本文向大家介绍JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转,包括了JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转的使用技巧和注意事项,需要的朋友参考一下 程序要求: 编写一个html文件的网页代码,页面包含一个下拉列表框、一个文本框和一个按钮,下拉列表框选择要去的网站,当选择完毕后文本框中出现对应的网址。点击确认跳转按钮后访问文本框中出现的网址。 实现效果:
我在pygame中为点击事件制作了按钮,但存在一个问题。当我单击鼠标按钮并在按钮边界之间移动鼠标时,单击事件会重复自身。我只想单击一下,直到松开鼠标按钮。我该怎么做?