moveToElementText 。
textrange 标准化:
首先介绍下用到的几个方法:
collapse :根据参数将结束位置重合到开始位置(true)或开始位置重合到结束位置(false)。
parentElement :获取包围选择区域的元素节点,如下例调用后得到span节点。
[url=http://msdn.microsoft.com/en-us/library/ms536764(VS.85).aspx]splitText [/url]强制分离 )
当我们将选择区域collapse后,可能有上述四个位置:1,2,3,4,其中 1,4 相邻元素节点最简单:
[b]
1,4位置 标准化: [/b]
1.根据 parentElement 得到包含位置的节点 p ,即为该位置的container
2.对container的所有元素子节点,一一验证是否和已知位置相邻,验证方法即为:通过 moveToElementText 新建range包围子节点,再通过 compareEndPoints 比较是否新建 range 的前后位置是否和当前位置重合:
[url=http://lite-ext.googlecode.com/svn/trunk/lite-ext/playground/range/ie.html]标准化 demo[/url]
[b]controlrange 标准化 [/b]
controlrange 就很简单了,由 item(index) 方法得到选择元素,结合其parentNode 就可以得到标准化表示了。
[b]PS : 关于输入框的范围读取 [/b]
由于规范规定输入框的选择区域和页面选择区域是分离的,输入框的选择区域有[url=http://yiminghe.iteye.com/blog/508999]不同的获取方式[/url] (IE 基本相同)。