三击鼠标选择一个段落将document.getSelection().leftOffset
设置为0(看似正确),但rightOffset
属性设置为1,因此处理选择的代码产生的结果只与选择的段落中的第一个字符。这是一个错误,还是我错过了什么?
答案 0 :(得分:2)
我认为您的意思是anchorOffset
和focusOffset
,而不是leftOffset
和rightOffset
。
无论如何,是的,你错过了一些东西:anchorOffset
和focusOffset
不一定是文本节点的相对。它们可以相对于元素,在这种情况下,offset是所讨论的选择边界之前的容器节点(anchorNode
或focusNode
)的子节点数。在您的情况下,选择从段落父项的第0个孩子(即开始)的开头延伸到第一个孩子之后的点(这是段落本身)。