我已经搜索了几天但找不到一个可靠的解决方案来获取Internet Explorer中的选择开始/结束,我尝试过this和this解决方案。
它们都涉及使用 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
}
}
修改
为了澄清这个问题,我想说我的光标位于这句话的末尾:
“一些随机文字
<此处>“中
一旦我使用上面的代码,选择开始将是:
“一些随机文字< here>”