首页 > 解决方案 > 点击复制段落内容

问题描述

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

这里的代码:

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

标签: javascriptjqueryhtmlcss

解决方案


在这里,这会在 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>


推荐阅读