我发现getClientRects() [getBoundingClientRect()]
可能有奇怪的行为:
请看这个HTML代码:
<p>Text here... word1<a id='id' class='class'/>word2 Other multiline Text here...</p>
[注意,a元素里面没有文字,我只测试了这种代码,不知道其他安排是否给出了相同的'bug'。]
假设用户选择p'estate'中具有锚点的范围,如“word1 word2”,JS函数存储开始/结束元素和偏移量。
下一次另一个函数创建一个具有这些边界的范围。
但是如果在该范围内调用getClientRects()
,它会产生除预期的两个以外的许多rects:数组的第一个和最后一个确实是预期的,但是,在它们之间,有许多rects实际上覆盖了整个p元素。
[range.getBoundingClientRect()
也会受到影响。]
怎么避免这个?