问题描述
我们可以使用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