首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从<p>标签上单击复制文本

从<p>标签上单击复制文本
EN

Stack Overflow用户
提问于 2022-04-21 21:05:12
回答 3查看 424关注 0票数 1
代码语言:javascript
运行
复制
                          <div class="d-flex flex-row justify-content-between">
                            <p class="mb-0 me-1 py-2 ps-4 add-text" id="p1">ygwbfewilskfhnewisfklnewiofjfhjky</p>
                            <button class="btn-primary w-20 px-3 copy-btn" onclick="copyToClipboard('#p1')">Copy<i class="fa-regular fa-copy ps-2"></i></button>
                          </div>

联署材料:

代码语言:javascript
运行
复制
    function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}

我想复制p id="p1“中的文本。

我试过这种方法,因为我看到它对别人有用,但对我不起作用

EN

回答 3

Stack Overflow用户

发布于 2022-04-21 21:39:31

您的代码很好,而且没有什么问题。我认为您可能忘记了在其中添加jQuery。可以通过在HTML代码的<head>标记中添加以下代码来做到这一点:

代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
票数 1
EN

Stack Overflow用户

发布于 2022-04-22 19:29:15

您的代码工作得很好,您可以查看它这里,如果它仍然不能工作,您可能会阻塞JavaScript。检查以确保您没有阻止JS的扩展,并检查您的浏览器设置以确保JS被允许。

(我需要有代码,因为它是一个代码链接)

代码语言:javascript
运行
复制
<div class="d-flex flex-row justify-content-between">
  <p class="mb-0 me-1 py-2 ps-4 add-text" id="p1">ygwbfewilskfhnewisfklnewiofjfhjky</p>
  <button class="btn-primary w-20 px-3 copy-btn" onclick="copyToClipboard('#p1')">Copy<i class="fa-regular fa-copy ps-2"></i></button>
</div>

function copyToClipboard(element) {
  var $temp = $("<input>");
  $("body").append($temp);
  $temp.val($(element).text()).select();
  document.execCommand("copy");
  $temp.remove();
}
票数 0
EN

Stack Overflow用户

发布于 2022-04-22 19:40:53

下面是这样做的一个普通版本。如果您阅读我对OP问题的评论中的博客文章,jQuery方法依赖Adobe,并不是所有浏览器都完全支持。

代码语言:javascript
运行
复制
function copyToClipboard() {
    var range = document.createRange();
    range.selectNode(document.getElementById("p1"));
    window.getSelection().removeAllRanges(); // clear current selection
    window.getSelection().addRange(range); // to select text
    document.execCommand("copy");
    window.getSelection().removeAllRanges();// to deselect
}
代码语言:javascript
运行
复制
<div class="d-flex flex-row justify-content-between">
  <p class="mb-0 me-1 py-2 ps-4 add-text" id="p1">ygwbfewilskfhnewisfklnewiofjfhjky</p>
  <button class="btn-primary w-20 px-3 copy-btn" onclick="copyToClipboard('#p1')">Copy<i class="fa-regular fa-copy ps-2"></i></button>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71960861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档