点击复制段落内容[重复]

Posted

技术标签:

【中文标题】点击复制段落内容[重复]【英文标题】:click to copy paragraph content [duplicate] 【发布时间】:2019-07-23 22:09:31 【问题描述】:

当我点击它时,我试图复制段落内容, 我写了这段代码,但它不能正常工作

这里是代码:

$('p').click(function (e) 
    e.preventDefault();
    var $temp = $("<input>");
    $temp.val($(this).html()).select();
    document.execCommand("copy");
    $temp.remove();
);

【问题讨论】:

我认为该元素必须在页面上可见才能使$temp.val($(this).html()).select(); 工作。 你可以使用 .text() 代替 .html() 只需在调用$temp.val($(this).html()).select(); 之前添加$("body").append($temp); 即可。 jsfiddle.net/asek26nw 你可以把 .html() 改成 .text() 看看这里。 developer.mozilla.org/en-US/docs/Web/API/Selection/addRange 【参考方案1】:

在这里,这会在 P 标签上添加一个点击侦听器和过滤器。点击后会复制到剪贴板。

const copyElement = (e) => 
  let selection = window.getSelection();
  if (selection.rangeCount > 0) 
    selection.removeAllRanges();
  
  
  let range = document.createRange();
  range.selectNode(e);
  selection.addRange(range);
  document.execCommand('copy');
;

document.addEventListener('click', (e) => 
  if(e.target.matches('p')) 
    copyElement(e.target);
  
);
<p>Testing</p>
<div>No copy</div>
<p>Test2</p>

【讨论】:

我喜欢它的效果很好......我正在尝试在点击时添加一个副本图像......我在第 2 行到最后一行中将 'p' 替换为 'img' 并选择图像一个大纲,但我的剪贴板没有复制图像,它只是空白......您还可以为图像添加任何调整吗?

以上是关于点击复制段落内容[重复]的主要内容,如果未能解决你的问题,请参考以下文章

基于 ID 的可见段落 [重复]

word格式刷怎么用?

jQuery:使用变量作为选择器[重复]

wps文字怎么找出相同的内容

如何将文本文件的内容转换为单个变量? (java) [重复]

如何在 forEach 调用 JavaScript 中重新排序元素 [重复]