3
我已经搜索了几天,但无法找到一个固体解决方案来获取选择开始/结束在Internet Explorer中,我试过this和this解决方案。在IE中的选择范围
他们都涉及使用document.selection.createRange(),下面的代码将工作相当不错,但如果你去到一个新行(按输入一个或更多的时间),然后试图让选择启动/结束您在按下输入之前结束。从我看到的createRange()不会选择最新的空行换行,我不希望代码太乱,所以有没有不同的解决方案呢?
function selecetion_range()
{
var range = document.selection.createRange();
var stored_range = range.duplicate();
stored_range.moveToElementText(textarea[0]);
stored_range.setEndPoint('EndToEnd', range);
return {
start: stored_range.text.replace(/\r/g,'').length - range.text.replace(/\r/g,'').length,
end: stored_range.text.replace(/\r/g,'').length
}
}
编辑:
为了澄清这个问题,可以说,我的光标是在这句话的结尾:
“一些随机文本
<这里>”
一旦我用上面的代码选择的起点是:
“一些随机文本<这里>”
@丹尼斯:你应该发布一个解答链接并接受它。 – 2009-08-31 15:42:58