任何好的JavaScript范围荧光笔



我一直在寻找范围荧光笔。如果用户选择特定文本,则应突出显示该文本,并且以同样的方式,如果使用选择一系列文本并单击"删除突出显示",则应仅从该选择中删除突出显示。请帮助我,我被困了很长时间.谢谢。

您并不完全需要一个插件来执行此操作,相反,您可以获取所选/突出显示文本所在的元素,然后将其内容存储在变量中。然后,您可以将.innerHTML元素设置回存储的值。在下面的示例中,我已将其应用于整个正文,因此它删除了对整个网页所做的任何选择。

请参阅下面的工作示例:

const btn = _ => {
  const elem = document.querySelector('body');
  const txt = elem.innerHTML;
  elem.textContent = '';
  elem.innerHTML = txt;
}
<body>
  <p id="txt">This is some text. This is some more text, this is even mooooore text, this is even mooooore text, this is even mooooore text, this is even mooooore text, this is even mooooore text! this is even mooooore text! this is even mooooore text!</p>
  <button onclick="btn()">Deselect</button>
</body>

最新更新