当空锚在HTML段落中时,范围getClientRects(),getBoundingClientRect()错误

时间:2014-03-24 11:25:29

标签: javascript html range getclientrect getboundingclientrect

我发现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()也会受到影响。] 怎么避免这个?

0 个答案:

没有答案