最近,我遇到了一个需求,我需要点击按钮将P标签中的文本复制到剪贴板
之前复制过输入框的内容,以为差不多,结果发现一点用都没有
尝试了各种方法,最后睁一只眼闭一只眼取得了以下效果
一、原理分析
浏览器提供复制命令来复制选定的内容
Document.execCommand('copy ')如果是输入框,可以通过select()方法选择输入框中的文本,然后调用copy命令将文本复制到剪贴板
但是,select()方法只对input和textarea有效,对p无效。
最后,我的解决方案是给页面添加一个文本区域,然后隐藏它
单击按钮时,首先将文本区域的值更改为P的内部文本,然后复制文本区域的内容
二、代码实现
HTML部分
样式类型='text/css '。包装器{position:相对;} #input {position:绝对值;top : 0;left : 0;opa city 3360 0;z指数:-10;}/style div class=' wrapper ' p id=' text '我把你当兄弟,你却要抄我?/p textarea id='input '这是幕后部分/text area button onclick=' copy text()' copy/button/div js
脚本类型='text/javascript '函数copy text(){ var text=document . getelementbyid(' text ')。innerTextvar input=document . getelementbyid(' input ');input.value=文本;//修改文本框输入的内容,选择();//选择文本文档. exec command(' copy ');//执行浏览器复制命令警报(“复制成功”);} /script pro测试,火狐48.0,Chrome 60.0,IE 8都可以用
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。