三次单击鼠标选择一个段落将 document.getSelection().leftOffset
设置为 0(看起来正确),但 rightOffset
属性设置为 1,因此,处理选择的代码会产生仅与所选段落中的第一个字符一致的结果。这是一个错误,还是我遗漏了什么?
最佳答案
我假设您指的是anchorOffset
和focusOffset
,而不是leftOffset
和rightOffset
。
无论如何,是的,您遗漏了一些东西:anchorOffset
和focusOffset
不一定与文本节点相关。相反,它们可以相对于某个元素,在这种情况下,偏移量是相关选择边界之前的容器节点(anchorNode
或 focusNode
)的子节点数。在您的情况下,选择范围从段落父级的第零个子级(即开头)的开头延伸到第一个子级(即段落本身)之后的点。
关于javascript - Firefox:通过三次单击选择段落会产生出乎我意料的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11051184/