js 点击按钮复制文本

左手的ㄟ右手 2023-06-22 13:38 86阅读 0赞

先上大佬链接
使用select()可以将文本复制到剪切板,但是只能在input和textarea有用,其他标签就不好用,先放在input和textarea上的使用方法

  1. <input type="text" name="" value="123" id="input">
  2. <script> //jq写法 $("#input").select() document.execCommand("copy"); // 执行浏览器复制命令 //jq写法 var input = document.getElementById("input"); input.select(); document.execCommand("copy"); // 执行浏览器复制命令 </script>

还有就是值不是写在input和textarea里的,例如div、p、span等标签里面

  1. <style> //这个样式下面进行说明 #input{ opacity: 0 } </style>
  2. <div id="div">123</div>
  3. <input type="text" name="" value="123" id="input">
  4. <script> var text = document.getElementById("div").innerText; var input = document.getElementById("input"); input.value=text; input.select(); document.execCommand("copy"); // 执行浏览器复制命令 </script>

这边说明上面样式的作用。
在项目中,有时候会复制一段话,标签用div或者p,那么直接使用document.execCommand(“copy”)是不可行的(具体原因度娘),而且input在用到disabled属性、hidden、display: none、width或者height等于0时,都不能实现,那么只能用透明度了(opacity: 0)。其实让input和textarea设置成只读属性就可以了readonly=“readonly”

  1. <!--input设置为只读,textarea也可以设置-->
  2. <input type="text" name="" value="123" id="input" readonly="readonly">

最后,如果我的笔记对您有帮助,请给我一个赞~ 谢谢!

发表评论

表情:
评论列表 (有 0 条评论,86人围观)

还没有评论,来说两句吧...

相关阅读

    相关 js实现按钮复制文本功能

    最近遇到一个需求,需要点击按钮,复制 <p> 标签中的文本到剪切板 之前做过复制输入框的内容,原以为差不多,结果发现根本行不通 尝试了各种办法,最后使了个障眼法,实现了下面