Remove empty lines when copy text from <p>

Remove empty lines when copy text from <p>

本文关键字:lt gt from text empty lines when copy Remove      更新时间:2023-09-26

我在firefox中遇到了一个问题。有一些行是这样的:

<p id="rec_2" class="logMess errorMess">test</p>
<p id="rec_3" class="logMess errorMess">test</p>
<p id="rec_4" class="logMess errorMess">test</p>

CSS:

    .logMess {
        color:#000;
        padding: 4px 2px 2px 3px;
        min-width: 100%;
        line-height: 18px !important;
    }
    .errorMess {
        color:#fff !important;
        background:rgb(163,0,0) !important;
    }

稍后,当我试图复制我收到的文本时:

test
test
test

但我想要这样的东西,我没有机会使用任何框架或类似的东西:

test
test
test

谢谢。

问题出现在webkit和其他程序的复制事件中。这是NOT关于CSS

尝试捕获复制事件并将其格式化。

document.addEventListener('copy', (event) => {
  const toCopy = document.getSelection().toString();  
  console.log(toCopy);
  let toPaste = "";
  $(toCopy.split(''n')).each(function(i,v){
    if (v.length > 0) {
      if (toPaste != "") {
        toPaste += ''n';
      }
      toPaste += v;
    }
  });
  event.clipboardData.setData('text/plain', toPaste);
  event.preventDefault();
});

https://codepen.io/mike-polo/pen/WNbNGvR

CSS文件中为p元素添加规则margin:0padding:0。这将解决这个问题。

我在这里创建了一个jsFiddle演示:http://jsfiddle.net/kb3gN/6490/