Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript文本范围错误_Javascript - Fatal编程技术网

Javascript文本范围错误

Javascript文本范围错误,javascript,Javascript,有人能用IE/javascript中的textRanges解释“引擎盖下”发生了什么吗?起点和终点位置实际指向/参考什么 我使用textRanges处理用户输入的数据。我创建了一个textRanges数组,每行一个,基于数据中的回车。在我尝试向文本范围写入新字符串之前,每件事情都按照我的预期工作 给定:rng[5]。文本包含“数据行5” 我是否使用: rng[5]。text='new text'或rng[5]。pastHTML('new text'),页面将显示更改的文本,但现在rng[5]。文

有人能用IE/javascript中的textRanges解释“引擎盖下”发生了什么吗?起点和终点位置实际指向/参考什么

我使用textRanges处理用户输入的数据。我创建了一个textRanges数组,每行一个,基于数据中的回车。在我尝试向文本范围写入新字符串之前,每件事情都按照我的预期工作

给定:rng[5]。文本包含“数据行5”

我是否使用: rng[5]。text='new text'或rng[5]。pastHTML('new text'),页面将显示更改的文本,但现在rng[5]。文本为空,而rng[5]。select()不执行任何操作

我假设textRange的起始位置和结束位置保持对页面的位置引用,如果我有背对背的textRanges,增加第一个的文本将导致第二个的起始位置和结束位置重新调整……或者至少,如果位置是绝对的,这会造成重叠范围……但情况似乎并非如此


我意识到还有很多其他方法可以解析/处理文本块,但就textRange而言,我的错误是什么

更改内容时,范围(和活动选择)将收拢到其终点,就像用户使用“粘贴”命令插入新内容一样

如果要重新选择刚插入的文本段,请调用range.moveStart('character',-n),其中n是插入字符串的长度。然后调用range.select()(如果需要)

(注意:范围处理换行符的方式非常不一致。如果字符串中有'\r\n',IE总是在文本区域中插入虚假'\r',则在moveStart/moveEnd中,它只算作一个字符。)