js实现点击复制
<html>
<body>
<p id="p1">12345678910</p>
<p>电脑登录网址<span onclick="copywangzhi()" style="color: #007AFF;">复制</span></p>
</body>
<script type="text/javascript">
function copywangzhi() {
let text = document.getElementById('p1').innerHTML;
let textarea = document.createElement("textarea"); //创建input对象
let currentFocus = document.activeElement; //当前获得焦点的元素
let toolBoxwrap = document.getElementById('NewsToolBox'); //将文本框插入到NewsToolBox这个之后
let flag = "";
toolBoxwrap.appendChild(textarea); //添加元素
textarea.value = text;
textarea.focus();
if (textarea.setSelectionRange) {
textarea.setSelectionRange(0, textarea.value.length); //获取光标起始位置到结束位置
} else {
textarea.select();
}
try {
flag = document.execCommand("copy"); //执行复制
} catch (eo) {
flag = false;
}
toolBoxwrap.removeChild(textarea); //删除元素
currentFocus.focus();
alert(flag ? text+"复制成功" : "复制失败");
}
</script>
</html>
总结:
js实现点击复制文本,最重要就是两点
- 获取要复制的内容的焦点。例如上面的
textarea.setSelectionRange(0, textarea.value.length);
- 调用js的复制功能
document.execCommand("copy");
在要复制的内容处获取焦点,调用复制功能后,系统会自动把焦点处的内容复制到剪切板。
源码来源
在这个代码基础上做了一些改动