我们可以使用getSelection和document.selection发现一个单词来删除它吗?

问题描述

我们可以使用getSelection和document.selection发现一个删除的单词吗?可以使用它们吗?以下代码有助于选择单词并将它们放置在数组中,但是所选单词保留在文本中。

<script>
let container;
var arr = [];
function get_selection() {

 var txt = '';
    if (document.getSelection) {
       txt = document.getSelection().toString();
             
             
         } 

         else if (document.selection) {
             txt = document.selection.createrange().text;
         }
          arr.push(txt);
         }
         }
        document.getElementById("txt").onclick = get_selection;

</script>

解决方法

尝试此代码

let container;
var arr = [];
function get_selection(e) {

   var txt = '';
   if (document.getSelection) {
      txt = document.getSelection().toString();
   }else if (document.selection) {
         txt = document.selection.createRange().text;
   }
   e.target.innerText = e.target.textContent.replace(e.target.textContent.substring(e.target.textContent.indexOf(txt),txt.length),"")
    
}

document.getElementById("txt").onclick = get_selection;

程序不会放入数组,而是删除选择,您可以将选择推入数组,并在需要时将其删除。

这里是demo