900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > html 文本标签点击复制 点击复制-点击div或者p标签复制内容到剪切板

html 文本标签点击复制 点击复制-点击div或者p标签复制内容到剪切板

时间:2024-04-12 22:35:33

相关推荐

html 文本标签点击复制 点击复制-点击div或者p标签复制内容到剪切板

点击复制-点击div或者p标签复制内容到剪切板

最近在做一个需求,就是需要点击div或者p标签需要复制其中的内容到剪切板中,可以快速的粘贴

如图下所示:

1059788-0904151716304-1691395761.gif

首先先看MDN的document.execCommand的命令

命令是这样描述的

当一个HTML文档切换到设计模式 designMode时,文档对象暴露 execCommand 方法,该方法允许运行命令来操纵可编辑区域的内容。大多数命令影响文档的选择(粗体,斜体等),而其他命令插入新元素(添加链接)或影响整行(缩进)。当使用contentEditable时,调用 execCommand() 将影响当前活动的可编辑元素。

代码如下

点击的是按钮,但是复制的是input框中的内容

点击复制后在右边textarea CTRL+V看一下

var btn = document.getElementById('btn');

btn.addEventListener('click', function(){

var inputText = document.getElementById('inputText');

var currentFocus = document.activeElement;

inputText.focus();

inputText.setSelectionRange(0, inputText.value.length);

document.execCommand('copy', true);

currentFocus.focus();

});

点击的是div或者p标签

但是当点击div或者p标签时,并不能上面的方法一样,这时就要曲线救国一下。使用textarea标签了

html部分

.wrapper {position: relative;}

#input {position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;}

我把你当兄弟你却想着复制我?

这是幕后黑手

copy

script部分

function copyText() {

var text = document.getElementById("text").innerText;

var input = document.getElementById("input");

input.value = text; // 修改文本框的内容

input.select(); // 选中文本

document.execCommand("copy"); // 执行浏览器复制命令

alert("复制成功");

}

亲测好用,简直无敌,可见灵活运用知识的重要性啊

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。