Javascript 从以前保存的选择对象设置窗口选择

Javascript 从以前保存的选择对象设置窗口选择,javascript,dom,range,selection,Javascript,Dom,Range,Selection,如果我使用window.getSelection()从textarea(具有我的文本区域的一个类)中选择了一个selection对象,如果该选择失去焦点(例如,如果用户单击另一个输入字段),是否有办法以编程方式再次设置该选择 我试过这样做: 当我有焦点时: var currentSelection = window.getSelection(); 在我失去焦点并想再次设置选择后: var range = currentSelection.getRangeAt(0); range.selectN

如果我使用
window.getSelection()
从textarea(具有我的文本区域的一个类)中选择了一个selection对象,如果该选择失去焦点(例如,如果用户单击另一个输入字段),是否有办法以编程方式再次设置该选择

我试过这样做:

当我有焦点时:

var currentSelection = window.getSelection();
在我失去焦点并想再次设置选择后:

var range = currentSelection.getRangeAt(0);
range.selectNode($('.my-text-area')[0]);

var sel = window.getSelection();
sel.removeAllRanges();

sel.addRange(range);

这似乎选择了我文本区域中的所有内容,而不仅仅是最初选择的小区域

刚刚找到了优秀的Rangy库,其中包含一个选择保存和还原模块,该模块可实现以下功能: