0

我正在努力使内容可编辑的 div 文本突出显示或不突出显示。但是我面临一个边缘情况,如果我将鼠标拖到文本上并通过狂野拖拽结束,我的 div 也会被选中。这意味着如果我打印范围,它会给我父元素作为结束容器。

<div class = "XYZ">
 <span class = "highlighted">ABCD</span>
</div> 

当我记录 range.endContainer 时,它会打印 XYZ。

另外我正在使用 range.setStart() 和 range.setEnd() 方法来调整我的范围,这意味着我在以下情况下失败了:

<div class = "XYZ">
 <span class = "unhighlighted">ABCD</span>
</div>


range.setEnd(range.endContainer, range.endContainer.textContent.length)

我确定我在设置范围的结束部分时犯了错误,但我不知道在哪里......有人可以帮忙吗?

4

0 回答 0