当对话框打开和关闭时,您可以使用以下简单功能保存和恢复选择。我对 jQuery 对话框不够熟悉,不知道挂钩到对话框打开和关闭的机制。第一个saveSelection
,返回你一个Range
或TextRange
对象,你应该存储在一个变量中,你稍后传递给restoreSelection
:
function saveSelection() {
if (window.getSelection) {
sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
return sel.getRangeAt(0);
}
} else if (document.selection && document.selection.createRange) {
return document.selection.createRange();
}
return null;
}
function restoreSelection(range) {
if (range) {
if (window.getSelection) {
sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
} else if (document.selection && range.select) {
range.select();
}
}
}