谁能解释一下IE/javascript中的textRanges到底是怎么回事?开始和结束位置实际上指向/引用什么?
我正在使用textRanges处理用户输入的数据。根据数据中的回车,我创建了一个textRanges数组,每行一个。在我尝试向文本范围写入新字符串之前,一切都如我所期望的那样工作。
给定: rng5.text包含'data line 5‘
无论我使用: rng5.text = 'new text‘还是rng5.passHTML(’new text'),页面都会显示更改后的文本,但现在rng5.text是空的,rng5.select()什么也不做。
我假设textRange的开始和结束位置是指向页面的保持位置引用,如果我有背靠背的textRanges,增加第一个的文本将导致第二个的开始和结束至少为readjust.....or,如果位置是绝对的,它将创建似乎不是这样的重叠的ranges.....but。
我知道有很多其他方法可以解析/处理文本块,但就textRange而言,我的错误是什么。
发布于 2009-02-06 23:17:56
当您更改内容时,范围(和活动选择)将折叠到其终点,就像用户使用“粘贴”命令插入新内容一样。
如果要重新选择刚插入的文本,请调用range.moveStart('character',-n),其中n是插入的字符串的长度。如果需要,则调用range.select()。
(注意:范围处理换行符的方式非常不一致。如果字符串中包含‘\r\n’,则对于moveStart/moveEnd而言,它仅计为一个字符。)
https://stackoverflow.com/questions/522462
复制相似问题